今個人的にしているゲーム制作で、かなりハマった問題をメモ代わりに報告。 Alternativa3Dのバージョンは7.6 状況としては、20fpsのゲームを作ろうとして、LightWaveで作ったアニメーションを、.x形式で出力した後、Ultimate Unwrap3Dで.daeに変換。 んで、そのアニメーションする3Dをゲームに使いたかったわけなのだけど、手足があっちこっち変な方向へブレてしまう問題が起きてしまったというもの。 Alternativa3Dのアニメーションは、かなり隠蔽されている。 Alternativa3Dの隠蔽というのは、ブラックボックス化して、アンタッチャブルな秘密主義にするってことで、ここの操作には触れることはもちろん、何をしているのか見ることもできない。 この悪い性質は本当に何とかしてほしい。 オープンソースにして規約で守る状態でも、特に悪いことがあるとも思えないの
作成日:2010年6月10日 ユーザレベル:中級 製品:Adobe Flex Adobe AIR Flex Builder 3 又は Flash Builder4 目次: はじめに UIComponent.mx_internal::dispatchEventHookを使って、コンポーネント間のイベントの流れをダンプする 概要 実例 Flash Debugプレーヤーの設定をしてデバッグに役立つ情報を出力させる Flash Playerが実行したメソッドを出力させる Flash Playerが実行した命令を出力させる ログファイルへの出力をバッファさせ、ファイルI/Oの時間を軽減させる Flex SDKの隠れた便利コマンドを使う SWFにコンパイルされた命令セットも表示できる「swfdump」 Flex SDKの動作を部分的にカスタマイズする Flex framework内のクラスと同名のク
投稿者:野中 文雄 | 投稿日:2010.03.05 | [AS 3][ActionScript][Tips][野中ゼミ] 演算子asとisは、つぎのような同じシンタックスで使われます。 インスタンス 演算子 クラス [ヘルプ]でそれぞれの演算子を調べると、asはインスタンスがクラスの「メンバーであるかどうかを評価」し、isはインスタンスがクラスと「互換性があるかどうかを評価」すると説明されています。要するに何をするのか、これだけではわかりません。 しかし、それぞれの「結果」が異なりますので、使い途もまた違います。演算子asはデータの評価換えに用いられ、isは誰の子かを調べます。 as演算子 まず、as演算子は、指定したクラスでデータ型を評価し直します。そのクラスのインスタンスとして扱えれば評価を換え、それができなければnullとします(「as演算子」参照)。 var mySprite:S
こんにちは、橋本です。 今日は、自分が普段AS3を書いていて「こんなときどうするの??」と思ったところを中心にいくつか書いみました。 思いついたものから書いていったので、内容はバラバラですが、お役に立てる内容が一つでもあれば幸いです。 では、どうぞー。 Q. イベントリスナーに引数を渡したい。 A. 関数を返すイベントハンドラを指定することで、引数を渡すことができます。 サンプル. // イベントリスナを登録するときに、引数を渡す addEventListener(MouseEvent.CLICK, clickHandler("hoge")); private function clickHandler(str:String):Function { return function (event:MouseEvent):void {trace(str)}; } public class te
ActionScriptと他ドメインのファイルでデータをやりとりする際によく引っかかってしまうのが *** セキュリティ Sandbox 違反 *** 互換性のないコンテキストにアクセスを試みました。 と表示されてアクセスを拒否されてしまうことです。 ということで、ひっかかってしまう処理として考えられる XMLをロードする ActionScriptからJavaScriptを呼び出す JavaScriptからActionScriptを呼び出す について違反回避方法をまとめてみたいと思います。 XMLをロードする 他ドメインからXMLをロードする際には参照先のドメインのルートディレクトリに crossdomain.xmlというファイルを置いておきます。 crossdomain.xmlには <cross-domain-policy> <allow-access-from domain="参照先ド
Flashでゲームなどを作る時に、動作の重さは悩みの種です。 軽い容量となめらかな拡大縮小が長所のFlashなのですが、その分、描画速度は犠牲になっていて、フルフラッシュサイトでCPUをガンガン食われてしまった経験もあると思います。 この重さを解決する方法の1つとして、BitmapDataを使うというものがあります。 これは素材をgifやjpegにする、という話ではなく、表示部分の扱いをビットマップデータにしてしまうというものです。 たとえ素材がgifでも、MovieClipとかに入れてたくさん表示しているととたんに重くなってしまいます。 これをBitmapDataとBitmapクラスによる表示に切り替えるだけで、軽くできることがよくあります。 ちょっとサンプルで体感してもらいましょう。 wonderflにはこういう実験作品があるのでちょっと拝借。(リンク先の画面右側の三角マークを押せばサ
どうも、こんばんは。taroです。 今回はゲーム等でしばしば登場する乱数についてのお話をします。 乱数というと確率論の中の一分野なのですが、これが意外と難しいです。 難しいからと言ってほっておくと、この分布の確率モデルはどうでといって積分記号を何個もつけた 式を書き付けてしまいかねないので辞めにします。 今確率モデルという言葉を出しましたが、確率を計算することとモデルを作ることはほぼ同じです。 いきなりムツカシイ言葉遣いでなんのことだかさっぱりかもしれませんが、 例えば、宇宙人が存在する確率ってどれ位でしょうか? 「居るか、居ないかの2通りだから、1/2だね」なんていうと、信じる人も居るかもしれません。 これはあるモデルでは正しいです。つまり、「居る」・「居ない」という二つしかなく、また「この二つが 同様の確からしさである」ということです。ちょっと言葉遊びみたいですが、これを侮ってはいけま
が、スタック処理を書けば擬似的に実現できます。 スタックには Array が必要ですが、FLASH Lite 1.1 には Array がありません。 普通は eval を使って擬似的に実装しますが、メモリを食うので再帰処理には不向き。 そこで String をスタックメモリに見立てて while します。 この再帰処理を Flash Lite 1.1 で書くとこんな感じ。 //mapを作る mapSize = 11; mapData = ""; moveData = ""; moveRecData = ""; for(i = 0; i < mapSize; i++ ) { for (j = 0; j < mapSize; j++ ) { mapData = mapData add (1+random(3)); moveData = moveData add "1"; moveRe
昨日のてら子で質問にあった射影変換の高速化。気になったのでやってみましたよ。射影変換 (Homography) てのは↓こういうのを言います。 左のようなパースのついた画像から、真っ正面むいてる絵を取り出すのに使ったりするですね。まーったく理論とかわかってなかったのでいろいろググって探してみたところ、AS3 で書いてる人がいたのでこれをベースにやってみました。OpenCV のソースみてるとかなり複雑そうだったのにこれはすごくシンプル。意外と簡単。 高速化の方法としては 2 つ。1 つは、Pixel Bender を使う方法。もう 1 つは DisplacementMapFilter を使う方法。両方書いてみた。で、処理速度を計測してみた結果。 –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– .
via:gotoAndLern(), SWF Framerate Optimization – Learn to how dynamically change your movie’s framerate to use only the resources it needs. いっつもお世話になっているgotoAndLern()のTutorial Video。 今回もかなり役に立ちそうです。 フレームレートを最適化することで無駄にCPUリソースを消費しないようにしよう、って趣旨のTutorialだと理解しました。 アニメーション(Tween)させる時は Framerate を30に設定し、何もアニメーションさせてないなら5にしとこうね、ということらしい。 何もアニメーションさせてない、の中にはFLVを単に再生させている、も含まれてました。 ビデオはビデオのレートで再生されるのでFlashの
祖母の白寿のお祝い 先日、満99歳(数えで100歳)になった祖母の白寿のお祝いをやった。 さすがに身体のあちこちに不具合が出てきており、そろそろ本格的に外出も難しくなってきたので祖母と一緒に家族で集まれるのはたぶんこれが最後だろう。 下は0歳から上は99歳までいるので、移動と諸々…
Captcha security check katapad.com is for sale Please prove you're not a robot View Price Processing
box2d, asBox2d で多角形を作るときには b2PolygonDef を使うのだけれど、はまるポイントが意外に多い。基本vertexCount に頂点の数、vertices 配列に頂点の座標を設定する。 var shapeDef:b2PolygonDef = new b2PolygonDef(); shapeDef.vertexCount = 3; shapeDef.vertices[0].Set(0, 0); shapeDef.vertices[1].Set(50, 50); shapeDef.vertices[2].Set(50, -50); shapeDef を作ったあとにどうすべきかは、Box2DFlashAS3 の単純なサンプルと使い方 (2.0.2版) をご覧あれ。はまりポイント1:点を定義する順番に注意時計回りに座標をしないとダメ。反時計周りにすると、落ちてこなかっ
仕事でClassに関してかなりはまったのでメモ。 状況としては外部SWFにリンケージされているクラスを、親swfで生成(new)するという感じ。 こんなことは出来ないと、端から決めてかかってたんだけどできた。 (こういう状況ってそんなにあるのかな?) まずsub.swfには、ライブラリにMCが入っていてclasses.MyClassというリンケージIDが着いている。 ここですごい疑問が。 ライブラリに入ってるだけの状態で外部as(classes/MyClass.as)がコンパイルされんのか?ということ。 sub.swf(Sub.as)の冒頭でまずインポート。 import classes.MyClass; そしてコンストラクタで classes.MyClass; って書いておけばコンパイルされるらしい。(実際される) あと、こういうケースではgetDefinitionBy
Cameraオブジェクトを利用して、RTMPでライブストリーミングを行うときに、ストリーミングの開始、終了をハンドリングするために肝なのがNetStatusEvent。NetStreamに対してハンドラを設定しておき、開始、終了を検知します。 ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); ... function netStatusHandler(evt:NetStatusEvent) : void { if(evt.info.code == "NetStream.Play.Start"){ // 配信開始 } else if(evt.info.code == "NetStream.Play.Reset"){ // 配信中 } else if(evt.info.code == "NetStream.Pla
XMLList から特定の値を取得する var items:XML = <items> <AAA>あああ</AAA> <BBB>びびび</BBB> <CCC>ししし</CCC> </items>; var xmllist:XMLList = items.children(); // items.AAA の text() を取得する方法はなんだ!? trace( xmllist.AAA.text() ); // これはダメ trace( xmllist.elements( "AAA" ).toString() ); // これはダメ trace( xmllist.( name() == "AAA" ).toString() ); // デキター 新方式の Loader コマンド var prog:Progression = new Progression( "index", stage );
アルファの値を操作するときって、alphaプロパティの値を設定しますよね。 たとえば円のムービークリップ(circle_mc)を半透明にさせたいときには、 circle_mc.alpha = 0.5; ってかきます。 そのとき円の中にもひとつ円のムービークリップ(circle_mc.inner_mc)がはいってると、見た目的には、もちろんこれも半透明になりますよね。 たとえば、ここで、中の円だけ透過させたくないときには circle_mc.inner_mc.alpha = 2; としてやれば、親の透過を打ち消したように見せることができるんですね。 ちなみに親のalphaを0.25にして子のalphaを4にしてもおなじように透過させず表示させることができるみたいです。 下のような感じ。 リファレンスにはalphaの値の範囲として0~1と記述されていますが、なんとなくやってみたらできたのでした
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く