[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/29 17:01 / Filesize : 316 KB / Number-of Response : 902
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ActionScript 誰かが物凄い勢いで解答するスレ 20



1 名前:Now_loading...774KB [2008/07/08(火) 15:08:44 ID:37ODdv7N]
AcitonScriptのことなら
初歩的な質問でもなんでもおk

見れない、保存したい、flashを作りたいはスレ違い
下記の関連スレ、超基本的な質問へ。

●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 19
pc11.2ch.net/test/read.cgi/swf/1205361771/
関連スレ
Flashの超基本的な質問はここでしろ! part37
pc11.2ch.net/test/read.cgi/swf/1202144062/l50
Flash製作初心者の質問スレッド レイヤー38
pc11.2ch.net/test/read.cgi/swf/1202151748/l50

357 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 01:56:41 ID:+z2Qjr20]
>>355
手っ取り早くやるなら文字コードの数値表現に置き換えるとかじゃない?
\u00xxみたいな

358 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 05:20:42 ID:GNdAwumD]
>>355
ちょうど自分も作っているとろこだ。
ひとまずは、コメント、改行、スペース消し辺り。
ファイル、関数、変数名変換は少し苦労しそう。
関数の内容展開も実装したい。

359 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 07:42:24 ID:feXkVyDS]
>>355
たしかニコニコ動画で難読化ツールを作る動画が上がっていたような希ガス
難読化というよりかは、デコンパイラ(というのが正しいのか解らんがその手のツール)
を騙すような仕組みになっていた。

その辺を作れる人はバイトコードでいぢれるそうで、正直ついていけんw

360 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 08:33:23 ID:9jrVTYM2]
>>357
ありがとうございます!
やってみます

>>358
おお、仲間が!
簡単だと思ってはじめたら継承とか配列からのメンバ呼び出しとかで
けっこう大変ですよね

>>359
ぬは、そんなものが・・・
バイトコードでいじれるとはすごい

361 名前:349 mailto:sage [2008/08/26(火) 11:07:57 ID:b+xqqrEg]
>>350
サーバ上のDBにたまっていくログをリアルタイムに表示するアプリなので、
他に手段が無いのです…

>>351
使い回してもload関数を呼ぶだけでメモリを消費するみたいです。


362 名前:Now_loading...774KB [2008/08/26(火) 12:57:52 ID:BFdvFxed]
みそっぱちツールって知ってます?
あれ使ったらASなんて覚えなくても一発ですよ

363 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 15:47:15 ID:c8bqOL8i]
AS2でかいてます
外部読み込みのテキストのx行目からy行目までを表示させたいの
txt.text.split("¥r")とかで総行数とか調べれるのはわかったけど
結局どうしていいのかわからんです
たちけて

364 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 16:33:04 ID:Kyx4ztpd]
text1〜text10までの変数に一度に代入したいのですが記述がうまくいきません。

for(i=1;i<=10;i++){
eval("text"+i)=a;//この部分が駄目でした
}
左辺のevalが原因と思いますが、他に良い方法が思いつきません。
text1=a;
text2=a;
……
とやっても良いのですが行が増えるのであまりしたくないんです。分かる方がいれば是非お願いします。

365 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 16:36:11 ID:mbrVPtgS]
>>364
「配列アクセス演算子」でぐぐる。



366 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 16:46:06 ID:Kyx4ztpd]
>>365
即レスありがとうございます。おかげさまでできました!
this["m"+i]=a
上の記述でできました!ありがとうございました。

367 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 16:58:45 ID:GpaeuEGq]
>>320です。みなさんのAS作成環境について教えてください。
もう一度お願いします。

368 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 17:05:57 ID:A4l4OPRU]
>>363
gaibuTxtLoad = new LoadVars();
gaibuTxtLoad.load("gaibu.txt");
gaibuTxtLoad.onData = function(dat) {
if (dat.indexOf("\r\n") != -1) {
gaibuTxtLine = dat.split("\r\n");
} else if (dat.indexOf("\n") != -1) {
gaibuTxtLine = dat.split("\n");
} else if (dat.indexOf("\r") != -1) {
gaibuTxtLine = dat.split("\r");
}
trace("2行目から3行目まで:"+gaibuTxtLine[2]+"\n"+gaibuTxtLine[3]);
trace("総行数:"+gaibuTxtLine.length);
};

369 名前:368 mailto:sage [2008/08/26(火) 17:07:42 ID:A4l4OPRU]
trace("2行目から3行目まで:"+gaibuTxtLine[1]+"\n"+gaibuTxtLine[2]);

だった

370 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 17:37:44 ID:xVCJ80hp]
>>369
それじゃ何百行と取り出したいようなとき酷いことになるし、
普通にsliceしてjoinの方が楽じゃない?

371 名前:368 mailto:sage [2008/08/26(火) 18:27:12 ID:A4l4OPRU]
こうですね

//2行目から3行目まで
startLine = 2;
endLine = 3;
out = gaibuTxtLine.slice(startLine-1, endLine);
trace("2行目から3行目まで:"+ out.join("\n"));

372 名前:Now_loading...774KB [2008/08/26(火) 18:29:25 ID:BFdvFxed]
みそっぱちツール使ってみました!
こんなツールあったんですね

373 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 19:23:59 ID:jdjggU2P]
共通関数(common.as)を作りました。
↓↓↓↓↓↓

public class common {
 public static function hoge():uint {
  return 123;
 }
}

利用する側(同じフォルダ)でimport common;って書いて
hoge();したんですが、
「未定義である可能性が高いメソッドhogeの呼び出しです。」
と出ます!! どこがおかしいのでしょうか!?


374 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 19:37:04 ID:k74bQ8KG]
>>373
パッケージって知ってる?

375 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 20:12:04 ID:jdjggU2P]
>>374
package {
 public class common {
  ・・・・・
 }
}

って書いてますが・・・・
同じフォルダならこれでいいのかなって思って・・・




376 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 20:44:38 ID:a5iQ1ZnH]
common.hoge();ってやった?

377 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 20:55:24 ID:jdjggU2P]
>>376
common.hoge();で出来ました!

でもできればhoge();ってやりたいなあ〜!??
getとかsetとかって書けばできるんのかな・・・・・

378 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 20:58:55 ID:9jrVTYM2]
1つのファイルで1個の関数しか出来ないけど
Hoge.asってファイルで

package {
public function Hoge():uint {
処理;
}
}

とやれば
Hoge();の呼び出し出来るようになるよ

379 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 21:00:15 ID:9jrVTYM2]
↑classにせずに関数だけのファイルってことです

380 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 21:11:36 ID:jdjggU2P]
>>378
できた〜!! な・なるほど〜・・・

関数沢山ある場合はその数分ファイル
作らなきゃいけないってことですね・・・・!?

381 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 21:12:53 ID:a5iQ1ZnH]
>>377
getter/setterはメソッドをプロパティのように扱えるようにするためのものだよ

382 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 21:23:25 ID:a5iQ1ZnH]
>>378

ロジック的にそれはどうなんだろうか・・・w

>>380
そもそもなんでcommon.hoge()と書きたくないの? (ちなみにクラス名の最初は大文字で書くこと)
確かにタイプ量が多くなってイヤとか、コードが長くなるとかあるけど
あとから読み返したときに突然hoge()なんてでてきたらわけわからなくなるよ?
common.hoge()と書くことによって一発でcommonクラスのstaticメソッドだと判断することができる
可読性ってのは結構大事だよ

あと、FlashCS3はカスだからできないけど、FlexBuilderやフリーのFlashDevelopなんかは
カスタムクラスのコード補完機能がついてるからタイプ量はあんまり変わらないはず

383 名前:Now_loading...774KB [2008/08/26(火) 21:31:23 ID:YS2tUzSn]
www.coedobrewery.com/swf/index.html
上でやってる、写真の出方ってどうやるんでしょうか?

384 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 22:54:51 ID:9jrVTYM2]
>>382
た、確かにw
でも頻繁に使う関数(可変引数を渡すTrace)とかはこうしちゃってる

385 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 06:50:04 ID:25in53zB]
>>361
そういうのはソケットつかうんじゃねーのか?



386 名前:Now_loading...774KB [2008/08/27(水) 11:15:46 ID:J/nr7fkD]
actionscript3.0を使用しています。
コード(0.swfに記述しています)
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.EventDispatcher;

var ldr:Loader = new Loader();
this.addChild(ldr);
this.stop();

this.start_btn.addEventListener(MouseEvent.MOUSE_DOWN,func01);
function func01(e:MouseEvent):void {
ldr.load(new URLRequest("1.swf"));
}
//end

このとき、startボタンをクリックすると0.swfの上に1.swfが重ねられて表示されますが、1.swfを読み込んで表示した後に、1.swfの下にある0.swfを消去する方法はありませんでしょうか?
ご存知の方、よろしくお願いします。

387 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 11:22:55 ID:dVidHVDW]
>>383
Flash使ったこと無いけど、
全面白いオブジェクトを手前に表示(透明状態)させておいて、
そのalpha値を画像の切り替え前後で急激に変化させてるんじゃないかなあと想像

             画像:  画像A → 画像B
白いオブジェクトのalpha値:  0→0.5→1→0.5→0

想像なので試してもないし保証も無し

388 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 11:35:28 ID:nKJjPubh]
>>383
プロパティのカラー 詳細でアルファとRGBの値を弄ってるだけなんじゃ?

389 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 12:08:20 ID:MK9Vk3wy]
blendとalphaっぽいね

390 名前:Now_loading...774KB [2008/08/27(水) 12:32:30 ID:Z00E6Rmg]
なるほど。。。
前者の方法だと例のサイトのように抑揚がつかないんです。
後者だとFPSがかなり下がってしまって。。。

391 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 12:43:45 ID:nMjtOeRo]
ActionScript3.0で質問させてください。

16進数を扱う場合には0xFFFFFFのように
先頭に0xをつけることで16進数であることをあらわしますが
2進数を扱いたい場合はどういった表記ルールがありますでしょうか。
FlashCS3のヘルプを見てもそれらしい記述が見当たりませんでした

初歩的な質問で申し訳ありませんがお教えいただけないでしょうか。

392 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 12:55:56 ID:MK9Vk3wy]
>>390
キャッシュみると別ファイルだから、スクリプトでリアルタイムに変化させずに
単にムービーに変換したのを流してるぽい

>>391
ないんじゃない?
AS3から8進数の0表記もなくなったって書いてるし。

393 名前:Now_loading...774KB [2008/08/27(水) 13:13:40 ID:g2p94euP]
>>383
ブレンドの加算だと思うよ

394 名前:391 mailto:sage [2008/08/27(水) 14:22:10 ID:nMjtOeRo]
>>392
やはりないんですね。
チョット別の方法を模索してみます。
レスありがとうございました。

395 名前:Now_loading...774KB [2008/08/27(水) 17:09:54 ID:Z00E6Rmg]
383です。
加算やブレンドで表現出来ました。
例のサイトの様なトランジションをつけて背景に読み込んだんですが、サイズをステージの大きさに合わせて可変させるようにすると、かなり処理が重くなって染まします。
AS2で書きました。

リサイズ処理
this.onResize = function() {
boxResize();
};
Stage.removeListener(this);
Stage.addListener(this);
function boxResize():Void{
var boxRate:Number = imgBox._height/imgBox._width;
enterBtn.posY = Math.floor(Stage.height-320);
enterBtn.posX = Math.floor(Stage.width-122);
imgBox._width = Stage.width;
imgBox._height = Stage.width*boxRate;
if(Stage.height>imgBox._height){
imgBox._height = Stage.height;
imgBox._width = Stage.height/boxRate;
}
};
imgBoxというのに作ったムービーを読み込んでます。
他のちょっとした動きのメニューなどがかなり重くなってしまいます。



396 名前:Now_loading...774KB [2008/08/28(木) 00:16:56 ID:HIPE1BF0]
フラッシュでおまんこに肉棒がつきささるフラッシュをつくりたぃんですがどうしたらいぃんですか?
あふれ出すマン汁もリアルに表現したいです

397 名前:Now_loading...774KB mailto:sage [2008/08/28(木) 04:25:46 ID:rdqOZFTz]
>>394
むしろ2進数表記しなくちゃいけない場面ってどんなの?
何がしたいかが分かれば違う解決法も普通に提示できるかもしれない

>>395
AS3に切り替えるってのはだめ?
少なくともAS2で同じ処理書くより断然速いよ

398 名前:394 mailto:sage [2008/08/28(木) 10:37:29 ID:D4/u9BBw]
>>397
AS3.0の学習を兼ねてゲーム的なものを作ってます。
やりたかったことは、キー入力に対応したキャラの移動処理の部分で
斜め移動(2キー以上同時入力)の検出に2進法をつかった以下のような
処理を考えてました。
var val:Number = 0;
if(右キー押下なら){
val += 0001;
}
if(上キー押下なら){
val += 0010;
}
(中略)
swith(val){
case 0001:
右移動処理
break;
case 0011:
右上移動処理
break;
(後略)
同様の処理は10進数でも可能だったので、現在はそのようにしております。
他にスマートな方法がありそうにも思えるのですが…。


399 名前:Now_loading...774KB mailto:sage [2008/08/28(木) 11:10:26 ID:sCtlFI1r]
>>398
こんなのはどうでしょうか
参考程度にどうぞ

const up:int = 1;
const right:int = 1 << 1;
const left:int = 1 << 2;
const down:int = 1 << 3;

var val:int;

//例1:左下同時押し
val = left | down;

//例2:右キー単独押下
val = up;

//例3:上キー押下追加
val |= right;

switch(val)
{
  case right:
    //右移動処理
    break;
  case right | up:
    //右上移動処理
    break;
}

400 名前:Now_loading...774KB mailto:sage [2008/08/28(木) 11:11:05 ID:/ttrGSMI]
if(右キー押下なら && 上キー押下なら){
上移動処理;
右移動処理;
}
じゃだめなん?

401 名前:399 mailto:sage [2008/08/28(木) 11:11:48 ID:sCtlFI1r]
すみません訂正

//例2:右キー単独押下
val = right; //upになってました

//例3:上キー押下追加
val |= up; //rightになってました

402 名前:Now_loading...774KB mailto:sage [2008/08/28(木) 11:48:23 ID:D4/u9BBw]
>>400
レスありがとうございます。
その方法だと斜め移動時と上下左右移動時を比較したときに
1フレームあたりの移動距離が変わってしまう(斜め時の方が速くなる)のが
今作成中のものでは問題となるため、今回は採用できませんでした。

>>399
レスありがとうございます。
ビット演算については正直放置してたのですが、調べてみたところ
もともとの処理のイメージに近い記述が可能なようですね。
ビット演算の用法についてチョット学習をすすめていこうと思います。


403 名前:Now_loading...774KB [2008/08/28(木) 22:35:54 ID:rtj/VMTN]
>>397
AS3は書けないんですよね。。。これを機に勉強するようにします。。。



404 名前:Now_loading...774KB [2008/08/29(金) 04:41:10 ID:XbYxuVwl]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

PCへの負荷で質問です。

ある処理を0.05秒毎にやりたいとき、その処理をフレームアクションで書いて20fpsと
する時と、setInterval()で50ms毎に行う場合とでは、どちらがPCの負荷として軽く
なるのでしょうか?

Flash開発用PCはCore2Duoの3GBなので多少の負荷には耐えられますが、そうで
ないPCの動作を考え、質問しました。


405 名前:Now_loading...774KB mailto:sage [2008/08/29(金) 07:49:41 ID:g253lIgq]
>>404
負荷自体は変わらんが、ある処理が重い画面描画を伴うとかだと
当然fpsの数値が影響する



406 名前:Now_loading...774KB mailto:sage [2008/08/29(金) 14:16:15 ID:067/jyDZ]
>>404
負荷がかかった場合を考えるなら、どちらが軽いかなんてどうでもいいことではなく、
実際に負荷がかかっても問題ない動きにするにはどうしたら良いかを考えた方がいいよ
想定する低スペックなPCがなくても、重い処理の代わりに適当な待機処理を時間を変えながら挟んで、
長くかかってもちゃんと動くかどうかシミュレートすればOK

407 名前:Now_loading...774KB mailto:sage [2008/08/29(金) 16:36:15 ID:ubRo66Sb]
>>405-406
なるほど。さんきゅうです。

408 名前:Now_loading...774KB [2008/08/30(土) 01:12:05 ID:PuG3gNuJ]
WindowsXPでFlash8-Proを使っています。

ランダムな値を監視して、それが基準値を超えたら音が鳴るようなASを書きたいの
ですが上手くいきません。下は基準値を80にして、Beep音を鳴らすようにしています。
(すいません、一応ASの全文を貼りました)

Sound0 = new Sound();
Sound0.attachSound("beep.wav");
//
this.onEnterFrame = function() {
volume0 = Math.random()*100; //0〜100の間のランダム値
//
if (volume0>80) {
trace("Sound0");
Sound0.setVolume(volume0); //音量はそのときのランダム値
Sound0.start();
}
};

どうしたら良いでしょうか?
beep.wavのリンケージは確認しています。


409 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 01:34:34 ID:6t+3clUJ]
>>408
やってみたけど上手くいったよ

410 名前:408 mailto:sage [2008/08/30(土) 02:50:49 ID:PuG3gNuJ]
>>409
レス有難うございます。

原因が分かりました。リンケージ確認が不十分でした。
AS上では Sound0.attachSound("beep.wav");  と書いていますが、
識別子の方に拡張子「.wav」を書いていませんでした。



411 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 16:04:46 ID:alZNorf2]
よくRPGの戦闘突入にガラスが割れた感じで戦闘に入るエフェクトがあると思いますが、あれをAS(SWF7)で再現することはできますか?検索の仕方が悪いのかいくら検索してもでません。分かる方がいればお願いします。

412 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 20:50:33 ID:k46PNrWv]
それはASの問題ではないと思いますが?
ゲーム製作技術等で聞いて下さい

413 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 20:55:47 ID:alZNorf2]
ASが分からないからこのスレで聞いているんですが・・

414 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 20:57:37 ID:DBikczHq]
>>412は頭悪杉

ゲームのエフェクトをFlashで
やりたいってことだろうよ

415 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 21:36:48 ID:CPmq3bky]
あんなエフェクト、AS使わなくても出来るじゃん
ASよりマスクを活かしたほうが楽だと思う



416 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 01:36:36 ID:jDjmDkpi]
アルゴリズムの問題だからそういうスレで聞いた方が早いだろ
>>415のいうようにASじゃなくてもできるし、どちらにしてもスレ違い
>>414は頭悪杉

417 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 02:16:45 ID:z86i8kxI]
マスクでどうやってやるんだ?
複数のMCが置いてある状態から
全体をガラスが割れる感じにするんだろ?
BitmapとMatrix使って、
計算速度を考えるとAS3でやるのが一番で
SWF7じゃBitmap使えないから無理だと個人的に思うのだが


418 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 03:10:48 ID:kEwlxsqo]
てかソフト自体のエフェクト機能にそういうのあった気がするぞ


419 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 13:31:58 ID:oCTpVupL]
良く分からんがパーティクル表現のこと?
検索が下手なのは、質問が下手ってのと同じだろうから、
語彙力身に着けるのが近道。

420 名前:Now_loading...774KB mailto:sage [2008/09/01(月) 00:10:48 ID:RNNFq7ev]
リアルタイムでレンダリングしたものを
テクスチャにして飛ばすなら
Flash8でないと無理。

>>417
AS1でもAS3でもAPI内部の処理速度は同じだろ。

421 名前:Now_loading...774KB mailto:sage [2008/09/01(月) 02:08:16 ID:S42pfC23]
>>420
AS1,2とAS3とではplayerのエンジンが違う

422 名前:Now_loading...774KB [2008/09/01(月) 08:44:11 ID:sqP7dL9d]
質問です。
フルFlashサイトを作っているんですが
Flashファイルの1フレーム目にnoborderを記述し、htmlファイルには縦横100パーセントで設定しているんですが、自分のブラウザでみたらちゃんと縦横きれいに100パーセントで表示されてるんですが、他のブラウザで見たら大きく拡大して表示されてしまいます。
どなたかこの様な現像の解決方法をご存じないでしょうか?
宜しくお願い致します

423 名前:Now_loading...774KB [2008/09/02(火) 14:01:00 ID:P0oI6p2k]
actionscriptのインクリメントで2ずつ増やす方法

424 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 16:53:33 ID:ThoXrYs6]
for(i=0;i<2;i++)n++;

425 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 17:55:09 ID:INqlUf3c]
>>422
Flashのバージョン
自分の使っているブラウザ名
うまく表示されない他のブラウザとはどれか
ちゃんと書こうね



426 名前:Now_loading...774KB [2008/09/02(火) 17:59:31 ID:P0oI6p2k]
424どういう事ですか?nの値??
i=++i; ←こんな感じでお願いします。


427 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 18:21:22 ID:ekR0fb/p]
i += 2;
↑こうゆう事?

428 名前:Now_loading...774KB [2008/09/02(火) 23:09:14 ID:oiCr7SLs]
427ありがとうそんな感じ( ^∀^)

429 名前:Now_loading...774KB [2008/09/03(水) 02:32:49 ID:GoFVdVhF]
質問です。Flex 3 SDK+AS3でやっています。
public static const list:Object =
{
a:"xx",
b:"yy",
c:"zz"
};
これをa->b->cの順でfor文で走査したいです。
arr:Array = ["a", "b", "c"];という配列を作って、list[arr[i]]としたら出来るのですが、
この配列を定義するのが冗長な感じがします。
何か他のやり方があれば、ご教授いただきたいです。
よろしくお願いします。

430 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 04:54:35 ID:Hu7fuEpR]
>>429
キーの部分の順番付けが無いとどういう順番で表示するかわからんだろ
連想配列使うのなら冗長では無く必須

431 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 08:46:21 ID:GoFVdVhF]
>>430
そうでしたか・・・。お馬鹿な質問をしてしまってすいません
ありがとうございました

432 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 10:42:24 ID:ciIfMOKQ]
import flash.display.BitmapData;
var MainBmpData:BitmapData= new BitmapData(100,100);
var main:MovieClip = this.createEmptyMovieClip("MainMC", this.getNextHighestDepth());

MainMC.attachBitmap(mcPath.palette.MainBmpData, MainMC.getNextHighestDepth(), true);
この部分を、
main.attachBitmap(mcPath.palette.MainBmpData, main.getNextHighestDepth(), true);
こう書くと「タイプが一致しません。」とエラーが出るのはなぜなんでしょうか。



433 名前:432 mailto:sage [2008/09/03(水) 10:44:37 ID:ciIfMOKQ]
すいません。書き忘れましたがAS2.0です。

434 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 11:12:38 ID:Hu7fuEpR]
>>432
何故といわれてもそのまま「タイプが一致しないから」と返すしかないだろw
引数の型をチェックするとか、traceしてちゃんと値が入ってるか調べるとか汁

435 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 11:17:40 ID:QPp3ylWS]
環境)OS:WinXP-Pro,Mem=2GB,ソフト:FlashCS3-Pro(Player9)

hoge_mc.addEventListener(Event.ENTER_FRAME,function(){
/* スクリプトの記述 */
});

質問です。
この ENTER_FRAME のイベントを removeEventListener することって可能ですか?




436 名前:432 mailto:sage [2008/09/03(水) 11:38:13 ID:ciIfMOKQ]
>>434
trace(main);
//_level0.MainMC
trace(typeof(main));
//movieclip

とくに問題ないような気がするのですが
おれは何か勘違いしてるんでしょうか

437 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 13:10:56 ID:YfC11098]
>>435
つarguments.callee

438 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 20:14:37 ID:QPp3ylWS]
>>437

ありがとうございました。助かりました。

439 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 20:34:32 ID:xNkMf3ka]
AS3の文法について質問ですが、以下のようなスクリプトが例文で良く出てきます。

hoge.addEventListener(MouseEvent.CLICK, onMouseClick);
function onMouseClick(e:MouseEvent):void {
hogehoge.x = mouseX; //ここは何でも良いんですが
}

この関数名の次の引数「e:MouseEvent」について、その関数内で変数(e)を使っていないのに
ほぼ毎回必ず記述されていますが、これは文法上の決まりなんでしょうか?
これを書かないことで(使わないのに)、何か整合性が取れなくなるんでしょうか?


440 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 20:38:57 ID:xNkMf3ka]
あと、これはどうでも良いことなのかもしれませんが、変数の宣言でintとuintだけ
頭文字が小文字なのは何か理由(とか逸話)があるんでしょうか?
NumberとかBooleanとかStringとか全部頭文字が大文字なのにこの2つだけ小文字なのが気になります

441 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:19:08 ID:2QekdjO0]
軽く答えようと思ったけど、うまい説明が浮かばなかった
普通にAS3を使いこなしてるつもりでいたけど適当にやっていたようだ・・

442 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:42:03 ID:Y9QIAA7S]
ECMAScript 準拠でそうなってるんだよ


うん。適当に言ってみた

443 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:48:47 ID:TWqANbo2]
AS3.0がそういう設計だからっていうこと意外に説明できるかな

ttp://livedocs.adobe.com/flex/3_jp/langref/flash/events/EventDispatcher.html#addEventListener()
>listener:Function ? イベントを処理するリスナー関数です。
>この関数は、次の例のように、Event オブジェクトを唯一のパラメータとして受け取り、
>何も返さないものである必要があります。

>function(evt:Event):void

444 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 23:12:56 ID:Ckei/Cw6]
>>439
文法上の決まりというよりは、サイト上の書き方を統一しているだけでしょう。
文法上はfunction onMouseClick():void{...としても問題なく通ります。
AS3の元となっているECMAScriptでは本来引数のない関数に値を渡すこともできますし、
その関数内で渡された引数を処理することもできるような仕様になっています。

>>440
伝統的なものです。AS3に限らず大抵の言語が何らかの言語の影響を受けて作られています。
完全なオブジェクト指向でない言語ではintやuintはクラスではありませんでした。
現在でもこれらはプリミティブ型と呼ばれ、他の型とは振る舞いが異なる場合があります。
intやuintのように伝統的な理由で小文字となってる型は、他にvoidがあります。
voidはundefinedという値のみを持つ特殊な型ですが、これも由来は他言語です。

445 名前:439=440 mailto:sage [2008/09/04(木) 23:28:48 ID:xNkMf3ka]
レスくださった方ありがとうございます。
慣習や伝統的な意味合いが強いんですね。勉強になりました。
確かに使わなくても引数を書いておいた方が、その関数がどこから
呼ばれているのかを探すときにわかりやすいような気もします。



446 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 00:46:40 ID:eL48yTkR]
>>444
書かなくてもコンパイルは通った
でもイベント起きなくなった

447 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 03:15:41 ID:emEZhJKX]
いいオチだw

448 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 03:22:36 ID:L+1/upAK]
そりゃイベントディスパッチャに渡すeventがなければ
メッセージ走らんだろう。



449 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 06:06:58 ID:vaVogdaU]
>>446
書き方が悪かっただけじゃないですか?
今手元で簡単に試したけどコンパイルは通るしイベントも起きます。
というかこの書き方で動かないようじゃECMAScript準拠が嘘になっちゃう。

>>448
この場合、関数定義での仮引数はあくまで仮引数であって、
EventDispatcherに渡すeventオブジェクトの実体作ってるわけじゃないですよ。

450 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 06:15:43 ID:vaVogdaU]
ついでに書けば>>444に書いてあるように引数のない関数を登録しても、
値はちゃんと渡されるのでargumentsを使えば普通にeventにアクセスできます。
・・・わりと一般的な知識だと思ってたので>>446見てちょっと焦ったw

451 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 11:11:36 ID:eL48yTkR]
>>446
なんか書き方悪いのかな・・・?俺も動きそうな気はするんだけど
これではイベント起こらない。e:MouseEventって書いたら起きる
ちなみにFlex SDK 3.1 AS3.0

public class Main extends Sprite
{
public function Main():void
{
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xaaaaaa);
sp.graphics.drawRect(100, 100, 200, 200);
sp.graphics.endFill();
sp.addEventListener(MouseEvent.CLICK, spClickHandler);
addChild(sp);
}
private function spClickHandler():void
{
FlashConnect.trace("mouseclick");
}
}

452 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 12:00:01 ID:q/gLz4Ls]
as1での質問です。
変数を含むムービークリップのフレーム数を取得したり
指定したフレームへジャンプさせたりしたいんですが

for(i=1;i<=5;i++){
tellTarget("/inu"+/:i){
trace(_currentFrame);
gotoAndPlay(12);
};

こういった書き方では出来ないんでしょうか?
初歩的な質問で申し訳ないですが、どういう事を
勉強すればいいかなどでも教えていただければと思います。
今まではthisを使っていたんですがflashlite1.1用なので
使えないみたいで…よろしくおねがいします。

453 名前:452 mailto:sage [2008/09/05(金) 12:52:47 ID:q/gLz4Ls]
452の質問をした者です。
もしかして、flash4の段階では
telltargetのターゲットに変数を入れることは出来ないんでしょうか…。

454 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 15:07:56 ID:Sp68lRAI]
FlexBuilder3でFlex3での質問です。

カスタムコンポーネントで設定した関数から
親コンポーネントの関数を呼びたいのですが、どうすればよいのでしょうか?

parentDocument とか parentApplicationとか使ってみたのですが
目的が違うもののようです。

よろしくお願いします。

455 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 16:03:35 ID:VQ75W2pK]
>>452
CS3のドキュメントみたら
「Flash Lite でストリングを連結するには、次の例に示されているように add 演算子を使用します。」
とのことなので

tellTarget("/inu" add /:i){

FlashLiteはよく知らんけど、試したところ一応これで動いた




456 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 16:25:57 ID:0c6OXxbY]
>>454
よくわからんけど単純にparentでは駄目なの?
親の方でaddChildしてからじゃないとnullだけど。

457 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 17:19:00 ID:hym4ZNm2]

親の表示リストに含まれている場合は
" 子オブジェクト.parent "で親オブジェクトが呼ばれるはずだけどね






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<316KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef