Class enchant.gl.Sprite3D
- Defined in: gl.enchant.js
- Extends enchant.EventTarget
Constructor Attributes | Constructor Name and Description |
---|---|
Sprite3D表示機能を持ったクラス.
|
Field Attributes | Field Name and Description |
---|---|
Sprite3Dの当たり判定に利用されるオブジェクト.
|
|
子Sprite3D要素の配列.
|
|
Sprite3Dのグローバルのx座標.
|
|
Sprite3Dのグローバルのy座標.
|
|
Sprite3Dのグローバルのz座標.
|
|
Sprite3Dに適用する変換行列.
|
|
Sprite3Dの名前
|
|
Sprite3Dの親要素.
|
|
Sprite3Dの回転行列.
|
|
Sprite3Dのx軸方向に対する拡大率
|
|
Sprite3Dのy軸方向に対する拡大率
|
|
Sprite3Dのz軸方向に対する拡大率
|
|
このSprite3Dが現在追加されているシーンオブジェクト.
|
|
Sprite3Dをタッチ可能にするか決定する.
|
|
Sprite3Dのx座標.
|
|
Sprite3Dのy座標.
|
|
Sprite3Dのz座標.
|
Method Summary
Method Attributes | Method Name and Description |
---|---|
addChild(sprite)
子Sprite3Dを追加する.
|
|
altitude(speed)
Sprite3DをローカルのY軸方向に動かす.
|
|
clone()
Sprite3Dの複製を作成する.
|
|
forward(speed)
Sprite3DをローカルのZ軸方向に動かす.
|
|
intersect(bounding)
他のオブジェクトとの衝突判定.
|
|
<static> |
enchant.gl.Sprite3D.loadCollada(url, onload, onload)
ColladaデータからSprite3Dを作成する.
|
removeChild(sprite)
指定された子Sprite3Dを削除する.
|
|
rotatePitch(radius)
Sprite3DのローカルのX軸を軸に回転させる.
|
|
rotateRoll(radius)
Sprite3DのローカルのZ軸を軸に回転させる.
|
|
rotateYaw(radius)
Sprite3DのローカルのY軸を軸に回転させる.
|
|
rotationApply(quat)
回転行列にクォータニオンから得られる回転行列を適用する.
|
|
rotationSet(quat)
回転行列にクォータニオンから得られる回転行列をセットする.
|
|
scale(x, y, z)
Sprite3Dを拡大縮小する.
|
|
set(sprite)
他のSprite3Dの状態をセットする.
|
|
sidestep(speed)
Sprite3DをローカルのX軸方向に動かす.
|
|
translate(x, y, z)
Sprite3Dを平行移動する.
|
- Methods borrowed from class enchant.EventTarget:
- addEventListener
- clearEventListener
- dispatchEvent
- on
- removeEventListener
Class Detail
enchant.gl.Sprite3D()
Sprite3D表示機能を持ったクラス.
enchant.gl.Scene3Dのインスタンスに追加することで, 画面上に表示することができる. enchant.gl.Sprite3D#vertices, enchant.gl.Sprite3D#indices, enchant.gl.Sprite3D#normalsなどを変更することで, 任意のSprite3Dを描画することもでき, テクスチャなども貼付けることができる.
また, Sprite3Dを子として追加することも可能で, 子は全て親を基準とした座標系で描画される.
//シーンの初期化 var scene = new Scene3D(); //Sprite3Dの初期化 var sprite = new Sprite3D(); //Sprite3Dをシーンに追加 scene.addChild(sprite);
Field Detail
{enchant.gl.Bounding | enchant.gl.BS | enchant.gl.AABB}
bounding
Sprite3Dの当たり判定に利用されるオブジェクト.
{enchant.gl.Sprite3D[]}
childNodes
子Sprite3D要素の配列.
この要素に子として追加されているSprite3Dの一覧を取得できる.
子を追加したり削除したりする場合には, この配列を直接操作せずに,
enchant.gl.Sprite3D#addChildやenchant.gl.Sprite3D#removeChildを利用する.
{Number}
globalX
Sprite3Dのグローバルのx座標.
- See:
- enchant.gl.Sprite3D#translate
- Default Value:
- 0
{Number}
globalY
Sprite3Dのグローバルのy座標.
- See:
- enchant.gl.Sprite3D#translate
- Default Value:
- 0
{Number}
globalZ
Sprite3Dのグローバルのz座標.
- See:
- enchant.gl.Sprite3D#translate
- Default Value:
- 0
{Number[]}
matrix
Sprite3Dに適用する変換行列.
mesh
{String}
name
Sprite3Dの名前
{enchant.gl.Sprite3D|enchant.gl.Scene3D}
parentNode
Sprite3Dの親要素.
親が存在しない場合にはnull.
{Number[]}
rotation
Sprite3Dの回転行列.
配列は長さ16の一次元配列であり, 行優先の4x4行列として解釈される.
var sprite = new Sprite3D(); //x軸周りに45度回転 var rotX = Math.PI() / 4; sprite.rotation = [ 1, 0, 0, 0, 0, Math.cos(rotX), -Math.sin(rotX), 0, 0, Math.sin(rotX), Math.cos(rotX), 0, 0, 0, 0, 1 ];
{Number}
scaleX
Sprite3Dのx軸方向に対する拡大率
- See:
- enchant.gl.Sprite3D#scale
- Default Value:
- 1.0
{Number}
scaleY
Sprite3Dのy軸方向に対する拡大率
- See:
- enchant.gl.Sprite3D#scale
- Default Value:
- 1.0
{Number}
scaleZ
Sprite3Dのz軸方向に対する拡大率
- See:
- enchant.gl.Sprite3D#scale
- Default Value:
- 1.0
{enchant.gl.Scene3D}
scene
このSprite3Dが現在追加されているシーンオブジェクト.
どのシーンにも追加されていないときにはnull.
{bool}
touchable
Sprite3Dをタッチ可能にするか決定する.
falseに設定するとタッチ判定の際無視される.
{Number}
x
Sprite3Dのx座標.
- See:
- enchant.gl.Sprite3D#translate
- Default Value:
- 0
{Number}
y
Sprite3Dのy座標.
- See:
- enchant.gl.Sprite3D#translate
- Default Value:
- 0
{Number}
z
Sprite3Dのz座標.
- See:
- enchant.gl.Sprite3D#translate
- Default Value:
- 0
Method Detail
-
addChild(sprite)子Sprite3Dを追加する. 追加が完了すると, 子Sprite3Dに対してaddedイベントが発生する. 親が既にシーンに追加されていた場合には, そのシーンに追加され, addedtosceneイベントが発生する.
var parent = new Sprite3D(); var child = new Sprite3D(); //Sprite3Dを別のSprite3Dに子として追加 parent.addChild(child);
- Parameters:
- {enchant.gl.Sprite3D} sprite
- 追加する子Sprite3D.
-
altitude(speed)Sprite3DをローカルのY軸方向に動かす.
- Parameters:
- {Number} speed
-
{enchant.gl.Sprite3D} clone()Sprite3Dの複製を作成する. 位置,回転行列などがコピーされた新しいインスタンスが返される.
var sp = new Sprite3D(); sp.x = 15; var sp2 = sp.clone(); //sp2.x = 15;
- Returns:
- {enchant.gl.Sprite3D}
-
forward(speed)Sprite3DをローカルのZ軸方向に動かす.
- Parameters:
- {Number} speed
-
{Boolean} intersect(bounding)他のオブジェクトとの衝突判定. 衝突判定オブジェクトか, x, y, zプロパティを持っているオブジェクトとの衝突を判定することができる.
- Parameters:
- {enchant.gl.Sprite3D} bounding
- 対象のオブジェクト
- Returns:
- {Boolean}
-
<static> enchant.gl.Sprite3D.loadCollada(url, onload, onload)ColladaデータからSprite3Dを作成する. 現在, ジョイント, アニメーションを含むデータに対応していません. また, 頂点属性がtrianglesである必要があります.
Defined in: collada.gl.enchant.js.var scene = new Scene3D(); Sprite3D.loadCollada('hoge.dae', function(model){ scene.addChild(model); });
- Parameters:
- {String} url
- コラーダモデルのURL
- {Function} onload
- ロード完了時のコールバック.
- {Function} onload
- ロード失敗時のコールバック.
-
removeChild(sprite)指定された子Sprite3Dを削除する. 削除が完了すると, 子Sprite3Dに対してremovedイベントが発生する. シーンに追加されていた場合には, そのシーンからも削除され, removedfromsceneイベントが発生する.
var scene = new Scene3D(); //sceneの一番目の子を削除 scene.removeChild(scene.childNodes[0]);
- Parameters:
- {enchant.gl.Sprite3D} sprite
- 削除する子Sprite3D.
-
rotatePitch(radius)Sprite3DのローカルのX軸を軸に回転させる.
- Parameters:
- {Number} radius
-
rotateRoll(radius)Sprite3DのローカルのZ軸を軸に回転させる.
- Parameters:
- {Number} radius
-
rotateYaw(radius)Sprite3DのローカルのY軸を軸に回転させる.
- Parameters:
- {Number} radius
-
rotationApply(quat)回転行列にクォータニオンから得られる回転行列を適用する.
- Parameters:
- {enchant.gl.Quat} quat
-
rotationSet(quat)回転行列にクォータニオンから得られる回転行列をセットする.
- Parameters:
- {enchant.gl.Quat} quat
-
scale(x, y, z)Sprite3Dを拡大縮小する. 現在の拡大率から, 各軸に対して指定された倍率分だけ拡大縮小をする.
var sprite = new Sprite3D(); //x軸方向に2.0倍, y軸方向に3.0倍, z軸方向に0.5倍に拡大する sprite.scale(2,0, 3.0, 0.5);
- Parameters:
- {Number} x
- x軸方向の拡大率
- {Number} y
- y軸方向の拡大率
- {Number} z
- z軸方向の拡大率
-
set(sprite)他のSprite3Dの状態をセットする. Colladaファイルを読み込んだassetsに対して使用できる.
var sp = new Sprite3D(); sp.set(core.assets['sample.dae']); //sample.daeのモデル情報を持ったSprite3Dになる
- Parameters:
- sprite
-
sidestep(speed)Sprite3DをローカルのX軸方向に動かす.
- Parameters:
- {Number} speed
-
translate(x, y, z)Sprite3Dを平行移動する. 現在表示されている位置から, 各軸に対して指定された分だけ平行移動をする.
var sprite = new Sprite3D(); //x軸方向に10, y軸方向に3, z軸方向に-20平行移動 sprite.translate(10, 3, -20);
- Parameters:
- {Number} x
- x軸方向の平行移動量
- {Number} y
- y軸方向の平行移動量
- {Number} z
- z軸方向の平行移動量