ActionScript 3.0 とか絶対ムリwwwPart2

1Now_loading...774KB
垢版 |
2009/02/15(日) 20:01:57ID:1/O2Tz9q
反省はしていない
7068
垢版 |
2010/02/16(火) 01:30:16ID:nOI6PjdN
>>69
イコールなら完了!としても、Loader.contentLoaderInfo.contentType が null なので心配です…。
PROGRESSイベントは使わずCOMPLETEイベントだけ監視するようにすると
ちゃんとCOMPLETEは来るようです。
2010/02/18(木) 22:30:03ID:CM37KvUO
>>70
close()呼んだらどうなる?
72Now_loading...774KB
垢版 |
2010/03/09(火) 07:42:57ID:3slVzMNg
今でも上野亨のActionScriptバイブルは読んだほうがいいの?
2010/03/15(月) 13:35:00ID:I8etU97M
>>72
公式リファレンスとGoogleあれば、基本的に教則本は不要。
ていうか、教則本に頼ると、検索スキルが身につかないよ。
2010/03/15(月) 18:02:48ID:9/T77r+s
AS3分かる人って尊敬しちゃう。
参考書を沢山買っても、やりたい事が出来ない私はおバカさんです。
2010/03/15(月) 18:13:35ID:hgPWlJiY
>>74
数こなせ
2010/03/15(月) 19:13:27ID:bcc/+mzE
全てのクラス(名)が継承順に表記されてる表ってどっかになかったっけ?
4分割くらいでプリントアウトして繋げて壁に貼っておきたいんだが
2010/03/15(月) 20:48:52ID:hgPWlJiY
AS3 Class Diagram ViewerというAirがある
2010/03/17(水) 10:46:04ID:UYsjGtRS
>>77
すごいなこれ メソッド、プロパティ、定数全部載ってるのかw
おもしろいものを教えてくれてありがとう 
だがやはり継承順を図で見るには自分で作らないとだめかorz
79Now_loading...774KB
垢版 |
2010/03/18(木) 11:43:29ID:f6CGDWqp
教えてくれ ボタンインスタンスの再読み込み時にボタンが反応しないんだ
なぜなんだろなー…

@メインタイムラインに各画面がありそれぞれに色々なボタンを配置
    メイン制御クラスで 各ボタンを配列でまとめて引数で渡してボタンクラスをnew
    ボタンクラスではMOUSE_DOWN、MOUSE_OVER等をリスナー定義

Aボタン反応する
    他の画面に移行する場合はボタンクラスですべてのボタンをリムーブリスナー 
    メイン制御クラスでnewしたボタンクラスインスタンスをnullし @に戻る

A他の画面でリセットボタンでデータをクリアし最初に戻る
    ボタンクラスですべてのボタンをリムーブリスナー 
    メイン制御クラスでnewしたボタンクラスインスタンスをnull
    メイン制御クラスもメインタイムライン側でnull
    メインタイムラインを再び流してメインクラスをnew

@に戻ってAの段階でボタンが反応しなくなる
8079
垢版 |
2010/03/18(木) 15:06:54ID:f6CGDWqp
だめだわからん 相変わらずリセット後のボタンが反応無しっすorz

リセット後もボタンクラスが生きてるのかと思い 怪しげな参照を片っ端からnullに、
ボタンクラス内のメンバ変数、リスナー関数をstaticにしてもボタンが反応無し

そもそもメインタイムラインからボタンが無くなるという仕様がダメなのか?
再読み込みで反応しないという経験がある人はヒントだけでもいいからよろっす
2010/03/18(木) 18:05:00ID:RX1/xeNt
>>80 とりあえずそんな経験は全然無いんだけど、一つ気になった点
「ボタンインスタンスの再読み込み」 って、どうやってる?

// btn は本当はメンバだとして…
var btn:Button = new Button();
btn.addEventListener(略);
 :
// 別の場所で…
btn.removeListener(略);
btn = null;

こういう状態なら、メインタイムラインもクソもまったく何も問題起こらない訳で
2010/03/18(木) 18:06:40ID:RX1/xeNt
あ、ちなみに >>81 のコード断片は、「インスタンスの再読み込み」 でなく、
「ボタンインスタンスを生成している」 状態。 あと、Button ってクラスは今便宜上そういう名前にしただけなので、
コピペで動くとかは無い、と一応念のため補足しとく
8379
垢版 |
2010/03/18(木) 18:49:57ID:f6CGDWqp
レスどうもです! 再読み込みは普通にインスタンスをnull後 再newしてるんですが…
ボタン等は静的に配置した物です 何か変なトコがあったらアドバイスよろっす

//メイン制御クラス  タイトル画面の処理
var tg :MovieClip = rootMC.startScreenMC;//タイトル画面ターゲット rootMCはメインタイムライン
if ( tg.startBTN != null ){//ボタン検出したら
var bn :Array = new Array( tg.startBTN, tg.selectBTN );//ボタンはまとめて配列で渡す
sbtn = new Simple_Button( rootMC, bn );//ボタンクラスnew sbtnはメンバ変数
}
//タイトル画面からプレイ画面に移行直前の処理
if ( sbtn.startBflg ){//スタートボタン押したら  (startBflgはゲッターフラグ)
sbtn.removeListenerBTN();//リスナー削除処理
sbtn = null;
rootMC.gotoAndStop("プレイ画面");
}
2010/03/18(木) 18:58:10ID:RX1/xeNt
>>83 とりあえず変な事っていうか、そういう用途で再び利用される事がわかっているオブジェクトだったら、
削除などしないで非表示にしとけばいいだけなんじゃないかと思った。
2010/03/24(水) 00:09:35ID:jF+1DgXj
a_mcとb_mcがあり、どちらもTweenで動いています。
a_mcの動きが終わったら、b_mcが動くというのをしたいのですが
どうすれば良いのでしょうか?
2010/03/24(水) 01:21:45ID:GSBbnnia
すぐ上にあるだろ
onCompleteつかえよ
87as
垢版 |
2010/03/26(金) 01:39:11ID:Ccvvwv2l
ActionScript 3.0で

a0 = 1; a1 = 2; a2 = 3;を

b0 = 0; b1 = 0; b2 = 0;に一括代入する方法を教えてください。

ActionScript 2.0の場合、

for(i=0;i<3;i++){

_root["b"+i]=_root["a"+i]
}

で出来るのですが、ActionScript 3.0で同様にするには、どうすればいいですか。
2010/03/26(金) 02:33:20ID:7nc1RbyI
ほらよ
var a0:int = 1, a1:int = 2, a2:int = 3;
var b0, b1, b2 :int;
for( var i:int =0; i<3; i++ ){
this["b"+i ] = this["a"+i ];//メインタイムライン以外ならターゲット変えるんだお
}
trace(b0,b1,b2);
89as
垢版 |
2010/03/26(金) 03:05:44ID:Ccvvwv2l
>>88
ありがとうございました。
早いので驚きました。
感謝します。
2010/03/26(金) 09:59:59ID:x1zRaoNR
配列使えよ
2010/03/26(金) 15:52:56ID:DhbUuBx0
AS3って具体的に何ができるの?

自分のサイト作ろうとしたときにFlashでぎゅーんと動かしたり
派手な演出する以外に実用的な動きがAS3で実現できるなら
何か1つ具体例を出してくれないか?煽りじゃなくて疑問
2010/03/26(金) 16:52:46ID:CqOonTg0
>AS3って具体的に何ができるの?

Flash上で表現出来るもの、実質全部。ただし編集機能とか、そういう事ではなくて、
作品動作として、SWF上で動く内容全部。 要はプログラミングで何かを作るって事。


>自分のサイト作ろうとしたときにFlashでぎゅーんと動かしたり
>派手な演出する以外に実用的な動きがAS3で実現できるなら
>何か1つ具体例を出してくれないか?煽りじゃなくて疑問

ぎゅーんとだろうがぐぁーっとだろうが、上に書いたとおりの理由で何でも可能だけど、
要はプログラミングなので、そのつもりで勉強しないと無理。
入門者向けに言うと、まず変数とは〜から始まって、処理の条件分岐だとか繰り返しなどの構造に入って・・・

そこら辺はFlashと関係なく、プログラミングの基礎として理解したあと、Flash固有の機能を利用する方法に入る感じ。
もちろん、頭が柔軟なら、あるいは世間のチュートリアルなどではこの順序を逆にしてる所もあるし、
一緒に覚えてもらおうとしている所もあるし、そこは内容次第。

具体例は、世間の各種サイトで目にする全てのFlashだと思えばいい。
2010/03/26(金) 18:14:13ID:7nc1RbyI
頂点の多い3Dとかはまだ無理なんだよな…
2010/04/01(木) 11:41:23ID:sHacLJsA
すいません教えてください!
MovieClipの参照が入っているArrayを、x座標順に並び変えたいのですが、

//mcArrayというArrayの中に、MovieClipが入っています。
var newMcArray:Array = mcArray.sortOn(x, Array.NUMERIC);

とやると、「未定義のプロパティxへのアクセスです」
とエラーが出てしまします。
2010/04/01(木) 11:52:49ID:jHFdhcQZ
var newMcArray:Array = new Array();
newMcArray:Array = mcArray.sortOn(x, Array.NUMERIC);
96Now_loading...774KB
垢版 |
2010/04/01(木) 13:32:09ID:J643nL7+
0除算したときや計算結果がNaN,Infinityになったとき
実行時エラーになるように設定できませんか?

環境 flashCS3,winXP
9794
垢版 |
2010/04/01(木) 13:56:55ID:sHacLJsA
>>95
xを"x"にしたらできました!

var newMcArray:Array = mcArray.sortOn("x", Array.NUMERIC);

おさわがせしました
98Now_loading...774KB
垢版 |
2010/04/05(月) 23:48:41ID:k0m6RJbe
a
2010/04/05(月) 23:53:40ID:k0m6RJbe
間違えて押しちゃいました・・・。
すごく初歩の初歩で申し訳ないんですけど
ロールオーバーはどうやるんでしょうか?
ロールオーバー前と後の2つのMCを切り替えたいんですが。
ぐぐっても、参考書にも書いてなくて。
2010/04/08(木) 22:25:35ID:gCUfROet
質問っす
メインタイムラインにインスタンスを配置して画面を切り替える時にTypeErrorがよく出るんだけど↓
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。

try〜catchで囲っておけば問題無いのかな? 1fps回ればエラーは出なくなるっす
エラー出るのは1回だけなのに そのままサイトにうpると警告が出て困るんだ
2010/04/08(木) 23:00:10ID:Th7APyuo
>>100
そもそもの作りを見直せ。それは多分、ローカルで実行してる分には早いから何も起きない(?)が、
web上で何かロードでもしてるような場合、タイムラグがあるのは当然として、それが例えば考慮されてないとか。

そのエラーは多分、「このタイミングならきっと出来てるよね」というオブジェクトが、出来ていない状態のまま
メソッドなりプロパティなりをアクセスしている不良コードなので、きちんと流れを見直して書き直した方がいいぜ
2010/04/08(木) 23:53:42ID:gCUfROet
がーん! まじですかい? 不良コードだったのか…
ちなみに try〜catchてどういう時に使うのが正解なの?
103Now_loading...774KB
垢版 |
2010/04/09(金) 04:03:16ID:ZbEkwPYF
>>102
ActionScriptの世界は知らないけれども、より例外処理と関わる
機会の多いJavaの世界ではこんな事になっている。

http://d.hatena.ne.jp/amachang/20100325/1269492368
2010/04/09(金) 06:45:50ID:VvlDWTKu
なんで知らないやつがここにいるのかということのほうが興味ある
105101
垢版 |
2010/04/09(金) 09:12:52ID:3LXlHUvw
>>102
1.この処理ははっきりと何か理由により、例外が発生する事がわかっている。その可能性がある事がわかっている時
  … ASでは無いけど、例えばファイル入出力の処理とかで、『自分(アプリケーション)の関知しない所で』、
    =例えば他のアプリケーションやOSの都合で、ファイルにアクセス出来ないような場合がある。
     そんな時、「あらかじめわかっていて、かつ自分の範疇/都合で回避は出来ないから」 しかけたりする

2.そもそも意図して例外を発行するオブジェクトがあったとして、それを意図的にキャッチするような時
  … 動作コスト的にあまり行わないかもしれないが (本当に意図した物なら戻り値で判断してもらう方が低コスト)、
    それでもロジックによっては何かの処理分岐で、「この場合には例外を発行する」 と設計する事がある。 それがわかっている時。

そして >>100 を例とするような実装に不備があって起こる例外は、安直に try〜catchで逃げる=不具合を隠蔽している という事になるので
マズい。 そしてそれが起こる原因を追求して潰していない場合、知らない所で 二次災害、三次災害なんて普通に起こる。
(全体的に Nullでない前提で動く物が、どこかでNullになってしまっていたら、どこまでぶっ壊れるかって事)

こんな感じ
106Now_loading...774KB
垢版 |
2010/04/09(金) 12:38:33ID:ZbEkwPYF
>>104
いやActionScriptは知ってるし書けるけど例外についてActionScript
の世界でどういう議論がなされてきたかに関しては詳しく知らない
って事で。どこかに良いポインタあるかな?
107100
垢版 |
2010/04/09(金) 13:38:33ID:0pZkcie5
どうもみなさん たくさんのアドバイスありがとうございました
null検出の不具合はインスタンスが読み込まれるまで回す事で解決しました

Flashにおけるtry catchの使いどころはアバターチャットやカメラ使用のテレビ電話的なチャット、
ネットゲーム等のサーバ経由でデータをやり取りする時なんでしょうかね? 
他にはシミュレーションゲームで複雑なforループに関係したとことか…
外部からデータを読み込まない簡単なゲームには必要無いって事は理解したっす
2010/04/09(金) 20:42:19ID:s6a1IM58
一ついえるのは、ある処理において例外が発生するか否かを
実行前に簡単にチェック出来る場合は、制御構造としてtry-
catchは使うべきではないということ。

例えば>>100の例であればtry-catchで囲む代わりにアクセス
したいインスタンスとやらにアクセスする前にそれがnullでは
ないか事前条件としてチェックするのが適切。
仮にnullだった場合にcatch節に書いていた処理を実行すれば
try-catchを使わずとも基本的に等価な制御を実現できる。

例外処理は毎度例外オブジェクト生成してスタックトレースを
積み上げる必要があるので、意外と重い処理。
なので「複雑なforループ」とやらの中で便利な大域ジャンプ
的に使うのもあまりお薦めしない。

例外という名前の通り、例外的なケースに限って使うべきでは。
2010/04/17(土) 01:07:26ID:7ysH8U9N
cashAsBitmapってどこにどう書くの?
MovieClipのコンストラクタに
cashAsBitmap = true;
って書いても未定義とか言われるんだけど
2010/04/17(土) 01:15:50ID:7ysH8U9N
ごめん、変なサイトからコピペしたからスペル違うじゃん…
2010/04/17(土) 19:48:47ID:pS1T+xD5
どういう事だお ヘルプ見れ
2010/04/18(日) 12:21:21ID:ha422Phb
>>111
MovieClip は AS2 との互換性のために dynamic クラスとなっているから、
実行時に宣言してい変数を使おうとすると勝手に作っちゃうわけだ。

>>108は cach"e"AsBitmap を true にして有効化しようと思ったのだろうが、
cashAsBitmap = true; って書いたために、新しく cashAsBitmap 変数ができたって話。
2010/05/19(水) 13:25:12ID:vRTmjzhI
nextFrameと prevFrameについて教えて下さい(CS3、AS3)

nextFrameとprevFrameを使い トゥイーンで動かしている ”頭MC” があり
頭MCの中は目、口等があり フレームで回している(目パチ等)
頭MC内のフレームには this.stop();等の再生ヘッドを止めるスクリプトは使われていない

頭MCを毎フレーム nextFrame();してもMC内部には影響無し 表情が動いている
しかし毎フレーム prevFrame();するとMC内部のフレームが止まってしまう
(prevFrame();を中止すると MC内部の止まっていたフレームから再生ヘッドが動き出す) 
(フレーム上に複数ある頭MCは同じインスタンスを使用 インスタンス名もすべて同じ)

このprevFrame時の不具合を回避する手段があったら教えて下さい
2010/05/23(日) 15:34:22ID:ET963wlW
謎の現象について少し判明したので報告
どうやら親MCがモーショントゥイーンでフレーム移動すると
子MC内部のフレームが遅延するようなのです

親MCがplay()で通常移動の場合
親 5f  子 5f
親 6f  子 6f
親 7f  子 7f
親 8f  子 8f
親 9f  子 9f

つづく
2010/05/23(日) 15:35:13ID:ET963wlW
親MCがgotoAndPlay()すると
親 5f  子 5f
親 6f  子 6f ここから親gotoAndPlay(20)
親 20f 子 6f ※遅延発生
親 21f 子 7f
親 22f 子 8f

親MCが連続でnextFrame()移動
親 5f  子 5f 遅延し続け動かない
親 6f  子 5f(prevFrame()の時も同様に動かない)
親 7f  子 5f
親 8f  子 5f
親 9f  子 5f
2010/05/23(日) 15:36:18ID:ET963wlW
ボタン押しての再生、逆再生したい場合などprevFrameが欠かせません
親MC移動時に子MCが動かなかったら使い物にならないじゃないかw
(ただのアニメの逆再生ならグラフィックインスタンスのループで済むが
子MCは独立で制御させたい ゲーム等では必要不可欠)

これはCS3だからなのか CS4以降では改善されてるんでしょうか?
2010/05/23(日) 18:35:13ID:DyKStVW9
>>116
いっそのこと、子をたどって そいつが MovieClip だったら currentFrame を見て
2以上なら prevFrame(), 1 なら最後のフレームに再生ヘッド移してあげればいいんじゃないかな。
2010/06/28(月) 15:47:18ID:YW2VUKmO
俺も最初AS3とか無理wwwって思ってたけど、やってくうちに慣れるもんだな
むしろ今じゃAS3のが書きやすいし、AS2の処理速度はつらいなーと感じることもしばしば
wonderflとか眺めてるだけで楽しいしAS3頑張ってよかったよ
119Now_loading...774KB
垢版 |
2010/07/22(木) 07:54:08ID:/cA812PA
マジで?このスレの人って天才?
俺、プログラムするのコレが初めてでFLASHは昔から使ってるからAS3を選んだんだけど、正直さっぱりわからん。
本を買ってきて、ボタンを押したら動くという基礎的なのを作ったんだけど、
その言語でさえ、本を見なければわからない(本を見ながらなら作れる)。
言語とか全部把握してるの?
gotoAndPlayとかも頭で考えると同時に指が反応するのかな?

ふ〜…WordとかExcelが子供だましに思えるぐらいの難易度だ…。
真面目にどうやってこんなの覚えた?

本のまま、同じ方法で作るのなら出来るけど、直ぐに作り方を忘れてしまう。
イラレ、フォトショ、クォーク、FLASH、DW、Word、Excel、他色々使えるけど、
これらとは違う次元の感じがする。

このスレでAS3の言語書いてる人いるけど、暗号にしか見えない。
どうやって覚えた?本気で知りたい。
2010/07/22(木) 13:00:39ID:JwqbKq8a
いきなりAS3はキツイだろな
AS1はそのまんまスクリプトって感覚なんだろうけど AS3は完全なプログラミング言語なんだお
バリバリ使いこなせている人はJavaやC++の経験者
もしくはAS1からAS2にステップアップしてOOPを理解、習得した人が大半だと思う

>言語とか全部把握してるの? 
プロ以外はそんな事ないんじゃないか? 言語全体の骨格を把握しているんだと思う
「こんな処理をしたい」と思ったらだいたいのクラスは思いついて あとはヘルプで詳細を調べる
ヘルプ無しじゃどうしようもないな ヘルプに親しめば上達は早いお

ちなみにヘルプを全部紙媒体にしたら本棚が埋まるかもw
2010/07/22(木) 13:49:44ID:eFk7pOBt
>>119
いきなり全体を理解しようとしないで、とりあえず必要な部分から覚えて行けばいいと思うよ。
自分の場合、はじめに「標準 ActionScript3.0入門」を読んで何となく概念を把握したのち、
作りたいものを具体的に決めて「逆引きクイックリファレンス」なんかを引きながら実制作、
不具合が出る度に原因を考えて…を繰り返している内に基本文法が身に付いた。

個人的には、リファレンス本に書いてあるサンプルをなぞるんじゃなくて
自分で作りたいものを決めて、どうすれば実現できるのかを考えていくようにすると
理解が早いような希ガス(スクリプトが自己流になる危険性はあるけど)
122119
垢版 |
2010/07/23(金) 00:17:13ID:PU7hwnze
>>120
>>121

ありがとうございます。
なるほど、つまりAS1やAS2とは作りそのものが違うということですか…
こんなの出来るのかな…一週間ぐらい触ってるけど上達してる気が全くしない。
本はアマゾンで評判が良かった 速習webデザイン ActionScript3.0 を買いました。
学習というよりも本を見ながらの作業的なんですよね。
やはり121氏のとおり、自分で作りたいものを決めて、探しながら作る方が上達するのかな…
まあ、俺自身がアクションスクリプトを覚えたいというよりも、
アクションスクリプトで作りたいものがあるから始めたのでその方が都合が良いんですよね。

日記みたいなこと書きましたが、物凄いヒントになりました。
感謝します。
123Now_loading...774KB
垢版 |
2010/08/14(土) 16:25:29ID:iuqEyi85
定期あげ
このスレ専ブラだと灰色になってる どうしたんだ壊れたのか?
124Now_loading...774KB
垢版 |
2010/10/05(火) 02:05:31ID:RSV3BhvH
デザインパターンの本買ってきた、むずすぎだけど、
flasherにはためになる本だ
2010/10/05(火) 12:23:30ID:yn9u6SKF
>>124

flasher って露出狂って意味だよw
判っている奴は使わない表現
2010/10/05(火) 18:45:34ID:rKKy2Bzn
>>124は判ってて二重の意味でflasherなんだよ
2010/10/06(水) 15:29:52ID:1Ggu1VfW
レビュー見る限り質が低そうだけど・・・
128Now_loading...774KB
垢版 |
2010/10/07(木) 01:30:46ID:b36cAP3O
AS3.0がむずかしいという人はライブラリを使えば
いいよ。
楽だよ。
129Now_loading...774KB
垢版 |
2010/11/16(火) 23:13:21ID:bIJa4bR/
container = new ObjectContainer3D( ini );
コンパイルエラー 1000: iniへの参照があいまいです。

あいまいってどういう事なんだろw このエラーは初めて見たな
あいまいな質問で申し訳ないんだけど ピーンと来た人なんか教えてくだせえ
2010/11/17(水) 04:59:00ID:Vq0Ek5tC
名前空間の問題かな?
131Now_loading...774KB
垢版 |
2010/11/26(金) 17:45:17ID:2mE2whr8
CS3/AS3 教えて下さい

import fl.controls.Button;
var bn:Button = new Button();
//1172: 定義 fl.controls:Button が見つかりません。
//1046: 型が見つからないか、コンパイル時定数ではありません : Button。
//1180: 未定義である可能性が高いメソッド Button の呼び出しです。

メインタイムラインでもクラスファイルでもだめ 定義が見つからないってどういう事?
2010/11/26(金) 19:49:15ID:Ziv6huS9
>>131
勉強汁
ttp://help.adobe.com/ja_JP/AS3LCR/Flex_4.0/compilerErrors.html
2010/11/26(金) 20:07:45ID:2mE2whr8
>>132
どうも! 環境設定でクラスパス指定したのに認識しません(Win VISTA)
これじゃダメなの?
$(AppConfig)/ActionScript 3.0/Component Source/ActionScript 3.0/User Interface

これもだめだったです なんで?
$(AppConfig)/ActionScript 3.0/Component Source/ActionScript 3.0/User Interface/fl
2010/11/26(金) 20:34:13ID:2mE2whr8
これでできました… ググッてググってやっと見つけました
$(AppConfig)/Component Source/ActionScript 3.0/User Interface

…で やっと本題なんですが こういう事はできないんですねorz
if ( btn[ i ] is SimpleButton ){
btn[ i ] = Button( btn[ i ] );//強制型変換に失敗しました。
}

何をやりたいのかというと ボタンインスタンス(SimpleButton)にプロパティを追加したいという事なのです
ムービークリップなら問題なく追加できるんですが… DisplayObjectに型変換しても無理でした
何か方法があったら教えて下さい
135Now_loading...774KB
垢版 |
2010/11/27(土) 11:37:05ID:PEPTp1g+
昨日のつづき  プロパティを追加できる自作ボタンクラスを作ったんですがSimpleButtonからキャストできません
クラスの作りかたがダメなんでしょうか?
package{
import flash.display.SimpleButton;
public dynamic class SimplePropertyButton extends SimpleButton{
public function SimplePropertyButton(){
super();
}
}
}
他の処理
if ( btn[ i ] is SimpleButton ){//ボタン検出したら(ムービークリップの場合は素通り)
var bf :SimpleButton = new SimplePropertyButton();//× 強制型変換に失敗しました
var bf :SimplePropertyButton = new SimpleButton();//× 関連しない可能性が高い型 〜 に暗黙で型変換されています
var bf :SimplePropertyButton = new SimplePropertyButton();//× 次の行で 強制型変換に失敗
bf = SimplePropertyButton( btn[ i ] );//キャスト
btn[ i ] = bf;//内容を元に戻す
}
btn[ i ].foo = プロパティ追加
2010/11/28(日) 20:48:47ID:rtoedXWu
SimpleButtonはダイナミックではないので、プロパティを追加するのは無理です
2010/12/18(土) 11:57:12ID:37p+EwWE
型変換すると独自に設定したプロパティは消えちまうの?

//初期設定時にプロパティfooを設定(型はリンケージで設定した独自の型 DisplayObjectと互換性有り)
trace( "name: "+event.target.name+" foo: "+event.target.foo );//fooプロパティ表示される
var targetE :DisplayObject = event.target as DisplayObject;//型変換
trace( "name: "+targetE.name+" foo: "+targetE.foo );//エラー fooプロパティ無し
138Now_loading...774KB
垢版 |
2010/12/21(火) 18:18:49ID:6+PFQTFO
>>137
独自の型には foo プロパティが定義されているけどもDisplayObject 型には定義されていないので、
DisplayObject として扱っているときは(データはあるけども)見に行けない様にしているだけ。
(AS3 ではタイプミスとかの為に、指定した型で存在しないプロパティやメソッドはコンパイルエラーで叩く)

// Event.target は Object 型なので、実行時に指定した名前 (この場合は name や foo) があれば見に行く。
// Object 型は特殊で、いかなる時も実行時にあればおkとしてくれる。(「ランタイムアクセス」に勝手になるため)
trace( "name: "+event.target.name+" foo: "+event.target.foo );

// 型変換とは、まるでその型であるかのように振る舞うように型にはめるもの。
// この場合は DisplayObject を扱っているかのようにする。
var targetE :DisplayObject = event.target as DisplayObject;

// ここで、DisplayObject 型には foo プロパティは定義されていないので、直接見ることはできない。
// ※ foo プロパティは独自の型で新しく定義されているため。
// trace( "name: "+targetE.name+" foo: "+targetE.foo );

// そこで、リンゲージで指定した型 (仮に Mogera とする) にもう一度型変換することで、
// そのオブジェクトを Mogera を扱うようにすることで foo を見に行ける。
trace("name: " + targetE.name + " foo:" + (targetE as Mogera).foo);

// ただ、子クラスに型変換をする場合、DisplayObject を継承していないと型変換に失敗する。
// as 演算子だと null になるから null チェックが必要だけど、エラーにしてほしいときは
// 型名( 変換したいもの ) とすると型変換ができないときはエラーが出る。
trace("name: " + targetE.name + " foo:" + Mogera(targetE).foo);

// Object 型の時の様にランタイムアクセスをするために、[] アクセス演算子を使うという手もある。
// ただ、コンパイルエラーが出なくなるし、パフォーマンスが落ちる事が多いので、
// 出来れば、ちゃんと型変換をしてあげればいい。
trace("name: " + targetE.name + " foo:" + targetE["foo"]);

// ちなみに、DisplayObject と互換性ありと表現したそれは、「DisplayObject を継承」ってことだよね。
139Now_loading...774KB
垢版 |
2010/12/21(火) 18:20:28ID:6+PFQTFO
あ、ミスった。
誤: // ただ、子クラスに型変換をする場合、DisplayObject を継承していないと型変換に失敗する。
正: // ただ、子クラスに型変換をする場合、Mogera を継承していないと型変換に失敗する。
2010/12/21(火) 21:00:23ID:JwuN5Bor
解説ありがとう
そういうOOP言語の「仕組み」みたいなのはどの段階で学んだor理解したんだろう
初めはVC++やJAVAなんかを勉強したのか
AS1のスクリプトの延長でAS3を学んでいる自分にとってはとても到達できん
2010/12/23(木) 16:28:22ID:wD4KvdU+
>>140
まずは今までの感覚で AS3 のコーディングしちゃって、
面倒くささを感じたあたりから AS3, 無ければ Java 辺りをベースとした
OOP の入門書やらサイトを読みながら簡単なものを組んでみる。
実際に手を動かして覚えることが重要。
142Now_loading...774KB
垢版 |
2011/01/06(木) 18:53:36ID:kXRvYfhA
あけおめ! さっそく質問でつ
SoundMixer.computeSpectrum を使って音声レベルを抽出しキャラのリップシンクをしてるんですが
BGMや効果音も拾ってしまうのです 特定のチャンネル(音声のみ)だけに対応する事は
可能なんでしょうか?
143Now_loading...774KB
垢版 |
2011/01/10(月) 20:16:08ID:PPGrTeQj
素朴な疑問 なんでundefinedになるんだろ? 空MC(dataMC)内にkaraMCを作りアクセスしたい

for ( var i:int= 0; i<=10; i++ ){
var cmc :MovieClip = new MovieClip();
cmc.name = "karaMC"+i;//
cmc.loadCompFlg = false;//プロパティ設定
this.dataMC.addChildAt( cmc, i );//dataMCは手動で配置した空のムービークリップ
//cmc = null;
}
//アクセスできん [MovieClip]って出るんじゃないのか?
trace( dataMC.karaMC1 );//undefined
trace( dataMC[ "karaMC1" ] );//undefined
2011/01/11(火) 12:28:14ID:mLr16soY
単純にDisplayObjectContainer型だと***.***.***でアクセスできないのか
メンドイな〜 構造が深かったら大変だろが…
145Now_loading...774KB
垢版 |
2011/02/18(金) 21:09:45ID:ih6V5KAp
docomo PRO series SH-05C Part.2
http://toki.2ch.net/test/read.cgi/keitai/1296900783/100-
2011/05/03(火) 01:50:46.16ID:Q299ycMr
今更AS2勉強始めたFlash初心者が通りますよ・・・
2011/05/03(火) 07:31:09.50ID:4PKJit51
無駄だからAS3にしとけ
148Now_loading...774KB
垢版 |
2011/05/10(火) 19:14:00.74ID:D77bpiMl
ちょっと質問
今月20日にCS5.5が発売されますがASが強化(追加や変更)されるのはスマートフォン用のAndroid関連だけなの?
CS4以前の人は買いなんだろうか? それにしてもアップグレードがCS5のみ1.5万でそれ以前は2.5万なんてひどいw

来年春以降発売予定のCS6は64Bitのみってのは確実なんでしょうか?
CS6にすごい機能(3D関連)が追加されたら今5.5をアップグレードするのはアホらしいよね…
2011/05/11(水) 01:08:20.12ID:hysZaxVW
CS6の情報なんか持っててもこんなとこじゃ出せないだろjk
2011/05/13(金) 14:10:39.34ID:gEgt7T+8
>>148
おまえにcs6は使いこなせないから心配するな^^;
2011/07/12(火) 22:34:37.06ID:CFmhUwD6
俺のために喧嘩するんじゃねぇ
2011/08/12(金) 19:15:42.35ID:kU8+LICM
AS3は変数の定義やら変換やらが面倒すぎる…
2011/08/12(金) 23:58:53.81ID:pxwQE9iv
これが普通でしょ
変数定義がファジーでよい言語だと糞味噌に混ぜられてて解読がだるいしバグも潜みやすい
2011/08/17(水) 10:21:50.99ID:FyAvXFL5
>>153
プログラム的には普通になったのだが、
もともとグラフィック畑の人が多かったからファジーなAS2の方が使いやすかった。
というかAS3でそういう人たちがかなり振り落とされた。
2011/08/17(水) 13:09:12.43ID:T/VNGuDA
低脳乙ってこった
2011/08/17(水) 13:37:01.32ID:tZsSDQsZ
Labに期待だな
2011/08/23(火) 20:47:02.19ID:aNZPbxRU
AS3とか、Flsah4の時代とは激変したよな
厳密な言語になるとこうも複雑になるとは…

お陰でobject思考の勉強にはなった
2011/08/24(水) 00:30:06.37ID:1cBCzqOP
AS3できりゃC#もJAVAも余裕
2011/08/24(水) 13:00:40.67ID:QIezHEib
C#は判るが、JAVAは別。
JAVAからAS3に来て簡単というなら判るが...
2011/08/24(水) 17:11:27.60ID:GdUcfdTO
そうかぁ?
Javaもそこまで変わらんと思うが。

確かにJavaからAS3に来たクチではあるんだが。

JavaからAS3にきて一番つらかったのが非同期実行処理だな。

2011/08/25(木) 12:31:51.24ID:EZ8ALEi/
何をつくっているのか判らないが、非同期実行処理が必要なAS3での開発って、かなり特殊だと思う。
2011/08/25(木) 14:08:28.71ID:0/3jIxVn
いやいや。
非同期処理を意識して居るか居ないかだけだと。

それ用のライブラリがいくつか出てるだけでも、
ニーズがあることがわかる。
2011/08/25(木) 14:41:16.52ID:9eDnt0DW
>>161こそ何をつくっているのかわからない
2011/08/25(木) 17:20:06.08ID:0/3jIxVn
うーん、書き方がわるかったんかな。
シングルスレッドって事が問題だったんだよね。

javaだとすぐスレッド起こせば良いかって考えるところで、
それが使えないとなると、自分でイベント作って、
その完了イベントをチェインさせたりとか
非常に面倒な処理をしないといけなくなるんだよな。

calllaterとかswing以来使ってなかった。invoke laterか。
2011/08/25(木) 20:50:40.91ID:e8+28y84
>>161
結局何がいいたいんだい
2011/08/26(金) 17:34:47.60ID:7gtujxPX
>>164

確かに!
自作のイベントディスパッチ自体、
コードのスパゲッティ化を招く
2011/08/29(月) 16:36:00.58ID:m+6FRw8o
実行順が保証されてないからどうしてもそうなるのはわかるんだけど、
面倒だよね。
2011/09/03(土) 12:52:09.68ID:jxh2J0HN
もうここまでややこしくするなら、アクションScript廃止して、Javaで動くようにしろや!

ついでに、Flashプレイヤーも廃止しろ!
2011/09/03(土) 13:10:05.60ID:QrxNBWKo
低脳乙w
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況