「Kuin」の編集履歴(バックアップ)一覧はこちら
「Kuin」(2014/01/15 (水) 23:02:27) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*標準ライブラリ - 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()Ver1.00では60fpsなので、処理落ち無くKuin@Act()を呼び続ければ、1秒間に60カウントの割合で増加していく。&br()戻り値がintなので、処理落ちなく60fpsで動き続けた場合、50億年弱の間起動し続けると、オーバーフローエラーが発生する(つまりは問題ないです)
***&aname(Cnt引数)引数
-なし
--ないよっ
***&aname(Cnt戻り値)戻り値
-int
--経過したフレーム数を返します
--フレーム数のカウント処理は、Kuin@Act()が呼び出されると行われるため、Kuin@Act()を呼び出した回数を返す、という表現でも間違いではない
***&aname(Cntサンプルコード)サンプルコード(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(FPS説明)説明
>フレームレートを返します。&br()1.0が帰ってくれば処理落ちなく実行できていることを示します。
***&aname(FPS引数)引数
-なし
--ないよっ
***&aname(FPS戻り値)戻り値
-float
--フレームレートを返します。
--Ver1.00では60fpsで動作するので、この値を60倍すれば実際に消費したフレーム数が取得出来ます。
***&aname(FPSサンプルコード)サンプルコード(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}}
----
**SysTime() : int
***&aname(SysTime説明)説明
>システム時間(OSが起動してからの時間)をミリ秒単位で返します。プログラムのある区間でかかった処理時間を計測するときに使います。
***&aname(SysTime引数)引数
-なし
--ないよっ
***&aname(SysTime戻り値)戻り値
-int
--システム時間(ミリ秒)を返します。
***&aname(SysTimeサンプルコード)サンプルコード(Ver1.00)
#highlight(linenumber){{func Main()
{Kuin@Stopのサンプルコードをご覧ください}
end func}}
----
**UnixTime() : int
***&aname(UnixTime説明)説明
>UNIX時間(1970年1月1日0時0分0秒からの経過時間)を秒単位で返します。現在時刻を取得するのに使います。
***&aname(UnixTime引数)引数
-なし
--ないよっ
***&aname(UnixTime戻り値)戻り値
-int
--UNIX時間を返します。
***&aname(UnixTimeサンプルコード)サンプルコード(Ver1.00)
#highlight(linenumber){{func Main()
{Kuin@Actのサンプルコードをご覧ください}
end func}}
----
**テンプレメソッド(ひきすー:ひきすうかたー) : もどりちー
***&aname(テンプレ説明)説明
>テンプレメソッドの説明をここにー
***&aname(テンプレ引数)引数
-ひきすー:ひきすうかたー
--ひきすーのせつめー
***&aname(テンプレ戻り値)戻り値
-もどりちかたー
--もどりちせつめいー
***&aname(テンプレサンプルコード)サンプルコード(Ver1.00)
#highlight(linenumber){{func Main()
{素敵なソースコードをここにー}
end func}}
*標準ライブラリ - 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()Ver1.00では60fpsなので、処理落ち無くKuin@Act()を呼び続ければ、1秒間に60カウントの割合で増加していく。&br()戻り値がintなので、処理落ちなく60fpsで動き続けた場合、50億年弱の間起動し続けると、オーバーフローエラーが発生する(つまりは問題ないです)
***&aname(Cnt引数)引数
-なし
--ないよっ
***&aname(Cnt戻り値)戻り値
-int
--経過したフレーム数を返します
--フレーム数のカウント処理は、Kuin@Act()が呼び出されると行われるため、Kuin@Act()を呼び出した回数を返す、という表現でも間違いではない
***&aname(Cntサンプルコード)サンプルコード(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(FPS説明)説明
>フレームレートを返します。&br()1.0が帰ってくれば処理落ちなく実行できていることを示します。
***&aname(FPS引数)引数
-なし
--ないよっ
***&aname(FPS戻り値)戻り値
-float
--フレームレートを返します。
--Ver1.00では60fpsで動作するので、この値を60倍すれば実際に消費したフレーム数が取得出来ます。
***&aname(FPSサンプルコード)サンプルコード(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}}
----
**SysTime() : int
***&aname(SysTime説明)説明
>システム時間(OSが起動してからの時間)をミリ秒単位で返します。プログラムのある区間でかかった処理時間を計測するときに使います。
***&aname(SysTime引数)引数
-なし
--ないよっ
***&aname(SysTime戻り値)戻り値
-int
--システム時間(ミリ秒)を返します。
***&aname(SysTimeサンプルコード)サンプルコード(Ver1.00)
#highlight(linenumber){{func Main()
{Kuin@Stopのサンプルコードをご覧ください}
end func}}
----
**UnixTime() : int
***&aname(UnixTime説明)説明
>UNIX時間(1970年1月1日0時0分0秒からの経過時間)を秒単位で返します。現在時刻を取得するのに使います。
***&aname(UnixTime引数)引数
-なし
--ないよっ
***&aname(UnixTime戻り値)戻り値
-int
--UNIX時間を返します。
***&aname(UnixTimeサンプルコード)サンプルコード(Ver1.00)
#highlight(linenumber){{func Main()
{Kuin@Actのサンプルコードをご覧ください}
end func}}
----
**テンプレメソッド(ひきすー:ひきすうかたー) : もどりちー
***&aname(テンプレ説明)説明
>テンプレメソッドの説明をここにー
***&aname(テンプレ引数)引数
-ひきすー:ひきすうかたー
--ひきすーのせつめー
***&aname(テンプレ戻り値)戻り値
-もどりちかたー
--もどりちせつめいー
***&aname(テンプレサンプルコード)サンプルコード(Ver1.00)
#highlight(linenumber){{func Main()
{素敵なソースコードをここにー}
end func}}