Kuin

「Kuin」の編集履歴(バックアップ)一覧はこちら

Kuin - (2013/07/27 (土) 15:07:32) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

*標準ライブラリ - Kuin **説明 >Kuinのシステム周りのことが設定出来たり取得できたりする、超重要なライブラリの一つです。&br()かなり頻繁に使用するものも存在するので、丸暗記してもいいレベルです。 ---- #contents(fromhere=true) ---- *所有メソッド **Act() : なし ***&aname(Act説明)説明 >Kuin@Act関数は、画面の更新、入力の処理、フレームレート調整など、Kuin側の処理を行う関数です。&br()この関数を呼ばないとウインドウがフリーズしてしまうので、「呼吸」のようなものだと考えて、頻繁に呼び出してください。&br()基本的にはwhile(true)の無限ループとセットで使用する。というかそれ以外の使用方法は無いとっても過言ではない(一応あるけど) ***&aname(Act引数)引数 -なし --ないよっ ***&aname(Act戻り値)戻り値 -なし --ないよっ ***&aname(Actサンプルコード)サンプルコード(Ver0.031) #highlight(linenumber){{func Main() var startTime : int var nowTime : int var delta : int :: -1 do startTime :: Kuin@UnixTime() {一番初めの起動時間を取得するため、UnixTimeで初期化} while(true) do Kuin@Act() {メインのループ処理ここから} do nowTime :: Kuin@UnixTime() {現在の時刻を取得} if((nowTime-startTime) <> delta) {起動時間と、現在時間の差に変化が生じたら} do delta :: nowTime-startTime {差分値を上書きしておいてから} do Dbg@Log("プログラム起動から" ~ delta.ToStr() ~ "秒経過") {変化量を表示させる} end if {メインのループ処理ここまで} end while end func}} ---- **Stop() : なし ***&aname(Stop説明)説明 >Kuin@Stop関数は、無限ループ中でKuin@Act関数を呼び出し続けるだけの関数です。&br()それ以後処理するものがなく、ウインドウを待機状態にしたいときに使います。&br()性質上、Kuin@Act()で同じ事ができますけど、まあ簡易版ですね。 ***&aname(Stop引数)引数 -なし --ないよっ ***&aname(Stop戻り値)戻り値 -なし --ないよっ ***&aname(Stopサンプルコード)サンプルコード(Ver0.031) #highlight(linenumber){{func Main() var startTime : int var endTime : int do startTime :: Kuin@SysTime() for(1,30000000,1) {30000000回floatの乱数を生成するだけ} do Kuin@RndF() end for do endTime :: Kuin@SysTime() do Dbg@Log("30000000回float乱数を生成するのに" ~ (((endTime-startTime)$float)/1000.0).ToStr() ~ "秒かかりました") do Kuin@Stop() end func}} ---- **Cnt() : int ***&aname(Cnt説明)説明 >プログラムを起動してから経過したフレーム数を取得します。&br()Ver0.031では30fpsなので、処理落ち無くKuin@Act()を呼び続ければ、1秒間に30カウントの割合で増加していく。&br()戻り値がintなので、処理落ちなく30fpsで動き続けた場合、100億年弱の間起動し続けると、オーバーフローエラーが発生する(つまりは問題ないです) ***&aname(Cnt引数)引数 -なし --ないよっ ***&aname(Cnt戻り値)戻り値 -int --経過したフレーム数を返します --フレーム数のカウント処理は、Kuin@Act()が呼び出されると行われるため、Kuin@Act()を呼び出した回数を返す、という表現でも間違いではない ***&aname(PlayCrossサンプルコード)サンプルコード(Ver0.031) #highlight(linenumber){{func Main() do Dbg@Log(Kuin@Cnt().ToStr()) {Kuin@Act()を呼び出す前は、0を返す} while(true) do Kuin@Act() do Dbg@Log(Kuin@Cnt().ToStr()) {Kuin@Act()を呼び出した後は、Kuin@Act()を呼び出した回数と同じになる} end while end func}} ---- **FPS() : float ***&aname(Stop説明)説明 >フレームレートを返します。&br()1.0が帰ってくれば処理落ちなく実行できていることを示します。 ***&aname(Stop引数)引数 -なし --ないよっ ***&aname(Stop戻り値)戻り値 -float --フレームレートを返します。 --Ver0.031では30fpsで動作するので、この値を30倍すれば実際に消費したフレーム数が取得出来ます。 ***&aname(Stopサンプルコード)サンプルコード(Ver0.031) #highlight(linenumber){{func Main() var fps : float var frameRate : float var beforeRate : float :: -1.0 var startTime : int var nowTime : int var deltaTime : float do startTime :: Kuin@SysTime() while(true) do Kuin@Act() do fps :: Kuin@FPS() do frameRate :: fps * 30.0 if(frameRate <> beforeRate) {フレームレートに変化が生じたら} do nowTime :: Kuin@SysTime() do deltaTime :: ((nowTime-startTime)$float)/1000.0 {Wikiの都合上、横にソースコードを伸ばさない為に変数に入れる} var mes : []char :: "" do mes :~ "(" ~ deltaTime.ToStrF(".3f") ~ "秒経過)" do mes :~ " フレームレート : " ~ fps.ToStrF(".3f") do mes :~ ",フレーム数 : " ~ frameRate.ToStr() do Dbg@Log(mes) do beforeRate :: frameRate {フレームレートの更新} end if end while end func}} ---- **テンプレメソッド(ひきすー:ひきすうかたー) : もどりちー ***&aname(テンプレ説明)説明 >テンプレメソッドの説明をここにー ***&aname(テンプレ引数)引数 -ひきすー:ひきすうかたー --ひきすーのせつめー ***&aname(テンプレ戻り値)戻り値 -もどりちかたー --もどりちせつめいー ***&aname(テンプレサンプルコード)サンプルコード(Ver0.031) #highlight(linenumber){{func Main() {素敵なソースコードをここにー} end func}}

表示オプション

横に並べて表示:
変化行の前後のみ表示: