- チュートリアル -
ダウンロードして解凍した「PsychoVision3D\audio.html」ファイルを開きます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PsychoVision3D</title>
<script type="text/javascript" src="lib/Vector3D.js"></script>
<script type="text/javascript" src="lib/Matrix3D.js"></script>
<script type="text/javascript" src="lib/PsychoVision3D.js"></script>
<script type="text/javascript" src="lib/Sprite2D.js"></script>
<script type="text/javascript" src="lib/Model3D.js"></script>
<script type="text/javascript" src="lib/BoneModel3D.js"></script>
<script type="text/javascript" src="lib/Material.js"></script>
<script type="text/javascript" src="models/Saku.js"></script>
<script type="text/javascript">
var _model;
var _audio;
var _delta;
function beginWebGL()
{
_audio = document.getElementById("audioSample");
_audio.load();
_model = new Saku();
_delta = new Vector3D(0,0,0);
}
function drawWebGL()
{
_model._pos.x += _delta.x * _elapsed;
_model._pos.z += _delta.z * _elapsed;
_eye.y = 160;
_lookAt.y = 160;
_mvMatrix.lookAtCamera(
_eye,
_lookAt,
new Vector3D(0,1,0));
_model.draw();
}
function onMouseDown(event)
{
_audio.play();
}
function onMouseUp(event)
{
}
function onMouseMove(event)
{
}
function onKeyDown(event)
{
switch ( getKeyCode(event) )
{
case 65: _delta.x = -100; break;
case 68: _delta.x = 100; break;
case 87: _delta.z = -100; break;
case 83: _delta.z = 100; break;
}
}
function onKeyUp(event)
{
_delta = new Vector3D(0,0,0);
}
</script>
</head>
<body onload="initWebGL();">
<canvas id="PsychoVision3D-Canvas" width="728" height="550"></canvas>
<audio id="audioSample" preload="auto">
<source src="sounds/Catch.ogg" />
<source src="sounds/Catch.mp3" />
</audio>
</body>
</html>
「var _delta = vec3.create(0,0,0);」でキャラクターを前後左右に動かす増分の三次元ベクトルを宣言します。
「beginWebGL」関数で初期化のコードを記述します。「_audio = document.getElementById("audioSample");」で「<audio id="audioSample" preload="auto">」のaudio要素を指定して、「_audio.load();」でサウンドを読み込みます。。
「drawWebGL」関数が毎フレーム呼ばれるので「_model」を移動や描画したりします。
マウスをクリックしたら「_audio.play();」でサウンドを再生します。
「function onKeyDown(event)」でキーボードが押されたら呼ばれ、「getKeyCode(event)」で[65][68][87][83]で[A][D][W][S]キーが押されたか判定します。
Firefox等のブラウザで「PsychoVision3D\audio.html」を開いて、キャラクターがアニメーションするか確認してください。
