2016-05-27 19 views
0

私はスクリプトを実行する前に数秒待つはずのGMLでスクリプトを作成しましたが、試してみましたが動作していません。助けてもらえますか?また、待機/スリープ機能を使用したくないのは、部屋のすべてを遅らせるからです。ここに私のスクリプトはあります。GameMakerで待っている:Studio

//Rename this script according to what you want to wait for 
//Here is how many seconds we want to wait. 
var seconds = 0; 
//We will multiply the amount of seconds by the room speed, and store it in a variable 
var waittime = seconds * room_speed; 
//Then, we will define a script for later 
var script = "Your Script here"; 
//Then, we will add a question, and it will ask if the room speed is the same as the wait time 
if (room_speed == waittime or room_speed > waittime) { 
    //Then, if the amount of room speed is the same as the wait time, then execute the script 
    script_execute(script); 
} 
else { 
    //But if the amount of seconds is not equal, or greater than the wait time, then just add the fps to the wait time- 
    waittime += fps; 
} 

答えて

1

スリープ機能は私が知る限りGameMaker:Studioから削除されました。あなたは、アラームを使用して、独自のタイマーのスクリプトを作成することができます:あなたのトリガー/ポーズスクリプトで

instance_deactivate_all(true); 
alarm[0] = 60 //Your time in frames. If your room_speed is 60, this will be one second. 

次にアラーム0イベントにあなたのような何かを行うことができます。

このものの
instance_reactivate_all(); 

現在スクリーン上にある可能性のあるオブジェクトのレンダリングを停止します。 あなたの他の賭けはglobal.timer = 60を作成し、すべてのオブジェクトif(global.timer > 0)のステップイベントを停止し、悲しいことに、これ以上これを行う簡単な方法はありませんif(global.timer > 0) global.timer--;

を実行するために、取締役のオブジェクトのようなものを持っていますが、うまくいけば、これらの2つの方法です十分であろう。

+0

わかりましたが、私のスクリプトが動作するかどうかを知りたいのですが。私は1つのオブジェクトだけを待っていますが、すべてを待っていません。私の最善の賭けは、もう一つのものと一緒に行くことです、私は秒変数を追加し、それから部屋の速度でそれを掛けて、グローバルタイマーを作成することができます。次に、2番目のスクリプトを使用して、アニメーションのフェードアウトを修正することができます。 –

+0

この場合、一時停止したいオブジェクトにifステートメントを選択して置くことができます。グローバルタイマーをチェックしないオブジェクトは、引き続き正常に実行されます。 –

関連する問題