LoginSignup
1
1

More than 5 years have passed since last update.

enchant.jsとtmlib.jsを使ったゲーム作成フレームワーク「enforce」システム関数/メソッド

Last updated at Posted at 2015-01-18

システムで用意されている関数/メソッド

関数

debugwrite(array)
デバッグモード時に生成されるデバッグ用テキストラベルにテキストを表示します。
clear」パラメータにtrueを設定していると一旦消去されます。
それ以外は追記になります。
引数
array
デバッグ用テキストラベルに表示するテキストの情報を連想配列で渡す
clear:デバッグ用テキストラベルを一旦消去してから表示する
labeltext:表示/追記するテキストデータ
fontsize:表示するテキストのサイズ
fontcolor:表示するテキストの色(HTMLの色指定と同じ方法で指定)
返値
無し

rand(num)
乱数を取得する。
引数
num
乱数の最大値。
返値
int
0〜numまでの範囲の乱数を返します。

JSLog(string, num...)
デバッグモード時に、JavaScriptコンソールにデバッグライトを出力します。
引数
str
この関数はデバッグモード時だけ機能します。
出力する文字列のフォーマットを指定します。
第二引数以降で指定するデータの数だけ「%@」を含めます。
【例】JSLog("hoge=%@, foo=%@, bar=%@", hoge, foo, bar)
この例ですと、最初の「%@」に変数「hoge」の値が、二番目の「%@」に変数「foo」の値が、三番目の「%@」に変数「bar」の値が置換されて、コンソールに出力されます。
hogeが4、fooが5、barが6の状態で上記の出力をすると、

hoge=4, foo=5, bar=6

というテキストがコンソールに出力されます。
JSLog(hoge)
とやると、console.log()の代わりになります。
num...
第一引数に含まれる「%@」の数だけ、置換するデータを羅列します。
返値
無し

sprintf(string, num...)
JSLog()と同じ書式のデータをコンソールに出力するのではなく、関数の返値として返します。
C言語のsprintfのような複雑な整形は出来ないので注意。
引数
string
JSLog()と同じ書式で文字列を渡します。
num...
第一引数に含まれる「%@」の数だけ、置換するデータを羅列
返値
string
整形されたテキストデータが返されます。

getBounds()
ブラウザの表示領域のサイズを返します。
引数
無し
返値
array
配列の要素番号0にブラウザの横幅、要素番号1にブラウザの高さが入っています。

setCookie(string, string2, num)
クッキーに値を保存する。
引数
string
クッキー名。
string2
クッキーに保存するデータ。
num
クッキーが破棄されるまでの日数。
省略すると1(日)。
返値
無し

getCookie(string)
指定したクッキー名のデータを返す。
引数
string
取得したいデータのクッキー名。
返値
string
指定したクッキーに設定されていた値。

nop()
なにもしない。
CoffeeScriptではif文やfor文、switch文のwhenなどを空にすることが出来ないため、ゲーム作成中に一旦空にしておきたい場合に記述しておきます。
引数
無し
返値
無し

addObject(array, object)
新しくオブジェクトを生成する。
引数
array
連想配列(オブジェクト)で下記の中から必要なものを設定する。
【共通】
motionObj
動きを定義したクラス名
type
オブジェクトの種類
x
オブジェクトのx座標
y
オブジェクトのy座標
z
オブジェクトのz座標
xs
オブジェクトのx方向移動量
ys
オブジェクトのy方向移動量
zs
オブジェクトのz方向移動量
gravity
オブジェクトにかかる重力値
image
アニメーションに使う画像
width
表示サイズ幅(px)
height
表示サイズ縦(px)
opacity
透明度(0.0〜1.0)
animlist
アニメーション設定
animnum
初期表示アニメーション番号
visible
初期表示/非表示設定
scene
スプライトを表示するシーン
scaleX
x方向拡大率(1.0で等倍)
scaleY
y方向拡大率(1.0で等倍)
scaleZ
z方向拡大率(現在未使用)
rotation
回転角度
active
touchEnabled

【Label】
labeltext
textalign
fontsize

【物理演算スプライト】
rigid
density
friction
restitution

【WebGLオブジェクト】
model
kind
size
depth
radius
radius2
texture
color
object
@parentに設定するオブジェクト。
省略すると@parentにはundefinedが設定されます。
返値
object
生成したオブジェクトを返します。

removeObject(object)
指定したオブジェクトを削除します。
引数
object
削除したいオブジェクトを渡します。
スプライトも削除されるので画面からも消えます。
返値
無し

playSound(string)
サウンドを再生します。
引数
string
MEDIALISTでプリロード指定したキーを指定します。
返値
object
サウンドオブジェクトが返されます。
このオブジェクトは再生しているサウンドを、停止・一時停止・再開させるのに使用します。

pauseSound(string)
サウンドを一時停止させます。
引数
object
指定したサウンドオブジェクトを一時停止させます。
返値
無し

resumeSound(string)
サウンド再生を再開させます。
引数
object
指定したサウンドオブジェクトでの再生を再開させます。
返値
無し

stopSound(string)
サウンドを停止させます。
引数
object
指定したサウンドオブジェクトでの再生を停止させます。
返値
無し

オブジェクトが持つメソッド

@nextjob()
動きの定義で使用する「@_processnumber」をインクリメントします。
引数
無し
返値
無し

@waitjob(num)
指定した秒数後に動きの定義で使用する「@_processnumber」をインクリメントさせます。
引数
num
プロセスナンバーをインクリメントするまでの秒数(float)を指定します。
返値
無し

@setProcessNumber(num)
@_processnumber」に指定した数を設定します。
引数
num
プロセスナンバーに設定する数を指定します。
返値
無し

@isWithin(object, distance) ※enchant.jsのみ
指定したオブジェクト(スプライト)との距離判定を行います。
distanceは省略可能で、省略した場合は「スプライトの幅/2」の距離以下だった場合はtrueと判定されます。
引数
object
距離判定を行うオブジェクトを指定します。
distance
スプライトの中心同士がどれくらいの距離になったらtrueと判定するかの値を指定します。
返値
bool
指定したオブジェクトのスプライト中心点と自分自身のスプライトの中心点の距離が指定した値以下であったらtrue、そうでなければfalseが返ります。

@isIntersect(object)
指定したオブジェクト(スプライト)との衝突判定を行います。
引数
object
衝突判定を行うオブジェクトを指定します。
返値
bool
指定したオブジェクトのスプライトと、自分自身のスプライトが重なっていた場合はtrue、そうでなければfalseが返ります。
重なり判定は矩形で行われるためスプライトの絵柄は一切関係ありません。
colliderが設定されていた場合は、colliderに設定されているスプライトとの衝突判定が行われます。

@setAnimationToRemove(num)
指定したアニメーション番号のアニメーションを一回だけ表示し自分自身を削除します。
引数
num
表示するアニメーション番号を指定します。
返値
無し

@setAnimationToOnce(num1, num2)
アニメーション番号「num1」のアニメーションを一回だけ表示し、アニメーション番号を「num2」に変更します。
引数
num1
1回だけ表示するアニメーション番号を指定します。
num2
num1を一回だけ表示した後に設定するアニメーション番号を指定します。
返値
無し

@setModel(string)
3DスプライトにColladaモデルを設定します。
引数
string
MEDIALISTでプリロード指定したキーで、Colladaモデルを指定します。
返値
無し

@addTarget(func)
スマートフォンなどでスプライトがタップされるか、マウスでクリックされた時の処理を指定します。
引数
func
スプライトがタップかクリックのアクションを受け取った時に実行される関数(無名関数も可)を指定します。
返値
無し

@spriteRotation(num)
2Dスプライトを回転させます。
引数
num
2Dスプライトを回転させる角度(DEGREE)を指定します。
返値
無し

enforceチュートリアル一覧

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1