フラッシュゲームのプログラミングを始めたばかりです。私は機能するプロジェクトを作成するのに十分な知識がありますが、それを効率的にする方法や特定のタスクを実行する方法、この場合はプリローダーを追加する方法については知りません。オンラインでいくつかのチュートリアルを見つけましたが、私が見た方法に沿ったものは、プログラミングするのに最適な方法ではありません。これまで見てきたことから、すべてのコードを 1 つの .as ファイルにプログラムし、このファイルをメイン ドキュメントにリンクするのが最善です。これにより、すべての変数をスコープ内でグローバルにすることが簡単になり、さまざまな関数で addChild/removeChild を実行できるようになります。唯一の問題は、この方法を念頭に置いてプリローダーを作成するチュートリアルが見つからないことです。私が見つけたすべてのチュートリアルでは、通常、タイムラインに 2 つのフレームがあり、1 つはプリローダーで、もう 1 つはコンテンツですが、これは良いプログラミング方法ではないと言われました。誰かが助けてくれたら、とても感謝しています。質問への回答を提供するのに役立つ場合は、学習プロジェクトの 1 つのソース コードを貼り付けることができます。
2143 次
1 に答える
0
私は 2 フレーム アプローチを使用しません。代わりに、あなたがやりたいと言ったように、ドキュメントクラスでゲームを作成してください。
完了したら、コンパイルしたゲーム SWF をローダー SWF にロードします。
以下は、loaderSwf がどのように見えるべきかについての簡単な例です。
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
function startLoad()
{
var mLoader:Loader = new Loader();//Or use ProLoader
var mRequest:URLRequest = new URLRequest(“Game.swf”);
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
mLoader.load(mRequest);
}
function onCompleteHandler(loadEvent:Event)
{
addChild(loadEvent.currentTarget.content);
}
function onProgressHandler(mProgress:ProgressEvent)
{
var percent:Number = mProgress.bytesLoaded/mProgress.bytesTotal;
trace(percent);
}
startLoad();
(ドキュメント クラスとして使用している場合は、パッケージとクラスにラップする必要があります)
于 2013-06-26T11:07:46.820 に答える