2016.05.11 Wednesday
AS3の型指定
flashのActionScriptは型指定とかにゆるいらしく、チェックを外すと
特に指定しなくてもよく動きます。
前に同業者の人たちと打ち上げをしたときには、そこの会社の人たちはものすごくキチンと型指定をして
プログラムを書いているということがわかった。
最近flashliteをAS3にして、airアプリにして、スマホ用に出そうとしているのだけど、
音を扱うときに型指定をして書いてあるところがあって、
そこで型指定をしたら、エラーが出た。
Oさんに聞いたら、「型指定はvar宣言の時だけ」と言っていた。
それは聞いたらそうらしいのだが、基本がなってない自分は何でそうなのか
よく分からなかった。型指定について調べてもみたけど複雑だった。
別に覚えなくても動くし、JavaScriptもあまり型指定に厳しくないようだし、
型指定を知らずにプログラムを書く自分は、学歴を気にするサラリーマンのような
事だろうと思って、あまり気にしないことにした。
特に指定しなくてもよく動きます。
前に同業者の人たちと打ち上げをしたときには、そこの会社の人たちはものすごくキチンと型指定をして
プログラムを書いているということがわかった。
最近flashliteをAS3にして、airアプリにして、スマホ用に出そうとしているのだけど、
音を扱うときに型指定をして書いてあるところがあって、
そこで型指定をしたら、エラーが出た。
Oさんに聞いたら、「型指定はvar宣言の時だけ」と言っていた。
それは聞いたらそうらしいのだが、基本がなってない自分は何でそうなのか
よく分からなかった。型指定について調べてもみたけど複雑だった。
別に覚えなくても動くし、JavaScriptもあまり型指定に厳しくないようだし、
型指定を知らずにプログラムを書く自分は、学歴を気にするサラリーマンのような
事だろうと思って、あまり気にしないことにした。
2016.04.28 Thursday
flashlite1.1をairアプリにする
昔、アンドロイドが出た頃にブラウザゲームとして出していたflashゲームを
adobe airのアプリにして出す作業をすることになったのだけれど、
flash lite1.1→ActionScript3.0
にする必要がある。また色々変換して直します。
携帯用のflash liteとかはずっとやっていたのでほとんど忘れてない。
需要があれば書きますけど、需要はまず無いですね。
自分の電話がphsで待ち受けがflashliteだから、
それで自由に待ち受け作って遊ぶくらいです。
世界中の言葉が1つになるのはまだ難しいですけど、
プログラムとかは1つの書き方にするのは難しいんですかね?
毎回新しい書き方になるけどなんでなんでしょう。
adobe airのアプリにして出す作業をすることになったのだけれど、
flash lite1.1→ActionScript3.0
にする必要がある。また色々変換して直します。
携帯用のflash liteとかはずっとやっていたのでほとんど忘れてない。
需要があれば書きますけど、需要はまず無いですね。
自分の電話がphsで待ち受けがflashliteだから、
それで自由に待ち受け作って遊ぶくらいです。
世界中の言葉が1つになるのはまだ難しいですけど、
プログラムとかは1つの書き方にするのは難しいんですかね?
毎回新しい書き方になるけどなんでなんでしょう。
2015.02.09 Monday
flashを再生する時のchromeのバグ
ビデオプレーヤーをカスタマイズして作ったら、flashの一部が抜けて背後のhtmlが見えてしまっていた。
複数のオブジェクトを同時にトゥイーンすると、SWFの一部が欠けて背景の色が透けて見えてしまう
http://www.knockknock.jp/archives/70
と言うのを見つけて、シークバーをどんどんベクターから画像に変えていった。
結構画像化したところで透けるのが無くなった。
ビデオのプレーヤーはベクターのデザインにすると拡大縮小できて楽かと思ったけど
chromeでバグがあるから駄目ですね。
chromeだけ他と挙動とか色々違うからすごく変な感じ。何で違いが出るんだろうか。
前もゲーム作ったらクロームだけ変と言われた。
複数のオブジェクトを同時にトゥイーンすると、SWFの一部が欠けて背景の色が透けて見えてしまう
http://www.knockknock.jp/archives/70
と言うのを見つけて、シークバーをどんどんベクターから画像に変えていった。
結構画像化したところで透けるのが無くなった。
ビデオのプレーヤーはベクターのデザインにすると拡大縮小できて楽かと思ったけど
chromeでバグがあるから駄目ですね。
chromeだけ他と挙動とか色々違うからすごく変な感じ。何で違いが出るんだろうか。
前もゲーム作ったらクロームだけ変と言われた。
2015.01.23 Friday
FlashLite1.1をAS2にしたものを、AS3にしてから外部化(3)
1フレーム目のスクリプトをクラスにするのは分かった。
けど10フレ目に実行したい時、addFrameScriptを使うのは分かった。
でもどう使うか分からなかった。
http://wonderfl.net/c/u8DL
↑これを見つけた。これで出来ると思ったのでやってみた。
しかしうまく行かない。
http://stackoverflow.com/questions/12185500/flash-actionscript-3-addframescript-not-working-properly
を見たら、「totalFrames-1」と書いている。なんか怪しいと思って書いてみた。
何と動いた!
最終フレームだと実行した時にフレームが過ぎ去っていたのでした。
直接フレームに書く場合はそこに書けばそのフレームにいる時に実行されていた。
これでできた!と思ったが、スクリプトを実行するフレームにボタンを配置していて、
それを縮小したものをズームで出すということをやっていた。
そしたら初めに配置した状態のボタンが一瞬見えてしまっていた。
何回かトライして分かったのは、
これはaddFrameScriptをボタンのあるフレーム-1でやって見たらうまくいった。
普通MCは動的に配置してるだろうからこんなの気づかない人多いのだろう。
あんまこんなこと書いている人いない。
includeのママのMCあと15個
けど10フレ目に実行したい時、addFrameScriptを使うのは分かった。
でもどう使うか分からなかった。
http://wonderfl.net/c/u8DL
↑これを見つけた。これで出来ると思ったのでやってみた。
しかしうまく行かない。
http://stackoverflow.com/questions/12185500/flash-actionscript-3-addframescript-not-working-properly
を見たら、「totalFrames-1」と書いている。なんか怪しいと思って書いてみた。
何と動いた!
最終フレームだと実行した時にフレームが過ぎ去っていたのでした。
直接フレームに書く場合はそこに書けばそのフレームにいる時に実行されていた。
これでできた!と思ったが、スクリプトを実行するフレームにボタンを配置していて、
それを縮小したものをズームで出すということをやっていた。
そしたら初めに配置した状態のボタンが一瞬見えてしまっていた。
何回かトライして分かったのは、
これはaddFrameScriptをボタンのあるフレーム-1でやって見たらうまくいった。
普通MCは動的に配置してるだろうからこんなの気づかない人多いのだろう。
あんまこんなこと書いている人いない。
includeのママのMCあと15個
2015.01.23 Friday
FlashLite1.1をAS2にしたものを、AS3にしてから外部化(2)
それぞれのMCに書いてあったActionScriptをインクルードで外部にしたものの
これだと、外部クラスじゃ無くてただのインクルードだった。
なので、
include "as/hoge.as";
を1フレにしか書いていない場合、MCを右クリックして、クラスを振ってあげれば
良いことが分かったので(分かったと言っても見たことあったのを再度忘れて発見した)
これで少しは外部class化出来そうだ。
問題は1フレ以外に書いてあるフレームスクリプトをどうするかだ。
addFrameScript
と言うのを使えば出来そうだけど、自分の中に書くと永遠にループしてしまうので
上に書かなくちゃいけないけど上もクラス化しなくてはいけなくてその上もクラス化しないといけないから
なんだか構造を今から作っていく感じで大変。
あと、クラスにした時、
this.removeEventListener(Event.ENTER_FRAME,EnterFrameFunc);
でエラーが出ていたけど、
e.currentTarget.removeEventListener(Event.ENTER_FRAME,EnterFrameFunc);
で動いたthisはe.currentTargetだ!
includeのママのMCあと25個
これだと、外部クラスじゃ無くてただのインクルードだった。
なので、
include "as/hoge.as";
を1フレにしか書いていない場合、MCを右クリックして、クラスを振ってあげれば
良いことが分かったので(分かったと言っても見たことあったのを再度忘れて発見した)
これで少しは外部class化出来そうだ。
問題は1フレ以外に書いてあるフレームスクリプトをどうするかだ。
addFrameScript
と言うのを使えば出来そうだけど、自分の中に書くと永遠にループしてしまうので
上に書かなくちゃいけないけど上もクラス化しなくてはいけなくてその上もクラス化しないといけないから
なんだか構造を今から作っていく感じで大変。
あと、クラスにした時、
this.removeEventListener(Event.ENTER_FRAME,EnterFrameFunc);
でエラーが出ていたけど、
e.currentTarget.removeEventListener(Event.ENTER_FRAME,EnterFrameFunc);
で動いたthisはe.currentTargetだ!
includeのママのMCあと25個
2015.01.22 Thursday
FlashLite1.1をAS2にしたものを、AS3にしてから外部化(1)
過去にFlashLite1.1→ActionScript2.0と言う作業は結構やったのだけど、
今回はFlashLite1.1→ActionScript3.0だから変換も結構大変だった。
さらにScriptを外部化しないといけない。
flashでActionScriptを書いているとフレームに記述するので
外部化する時に1フレーム目にまとめた。
「1ファイルに複数のクラスを書く方法」というのがあった。
今回はFlashLite1.1→ActionScript3.0だから変換も結構大変だった。
さらにScriptを外部化しないといけない。
flashでActionScriptを書いているとフレームに記述するので
外部化する時に1フレーム目にまとめた。
「1ファイルに複数のクラスを書く方法」というのがあった。
http://flashjp.com/as3/internalclass.php
まず、クラス化するのに、今flash内に書いてあるfunctionや変数を
どのように持っていけばいいのか理解する必要があって、そこを調べている。
今までは自分だけでFlash内でScriptが完結してればOKだったのだけれど
よその人の仕様に合わせたりすることが出てきたらScriptを外部化してやらなくては
いけなくなった。
まあ、こう言う書き方が出来るようになればいいことだと思う。
まず、クラス化するのに、今flash内に書いてあるfunctionや変数を
どのように持っていけばいいのか理解する必要があって、そこを調べている。
今までは自分だけでFlash内でScriptが完結してればOKだったのだけれど
よその人の仕様に合わせたりすることが出てきたらScriptを外部化してやらなくては
いけなくなった。
まあ、こう言う書き方が出来るようになればいいことだと思う。