通過循環移動小精靈
var cat;
function setup() {
cat = new Sprite(resources["images/cat.png"].texture);
cat.y = 96;
stage.addChild(cat);
// 要循環的函數
gameLoop();
}
function gameLoop(){
// 每秒 60 次
requestAnimationFrame(gameLoop);
// 每次使 cat 的 x 坐標加 1
cat.x += 1;
renderer.render(stage);
}
使用速度
var cat;
function setup() {
...
// 設置速度
cat.vx = 1;
...
}
function gameLoop(){
...
// 按照速度進行移動
cat.x += cat.vx;
...
}
通過鍵盤來移動
基礎鍵盤函數
function keyboard(keyCode) {
var key = {};
key.code = keyCode;
key.isDown = false;
key.isUp = true;
key.press = undefined;
key.release = undefined;
key.downHandler = function(event) {
if (event.keyCode === key.code) {
if (key.isUp && key.press) key.press();
key.isDown = true;
key.isUp = false;
}
event.preventDefault();
};
key.upHandler = function(event) {
if (event.keyCode === key.code) {
if (key.isDown && key.release) key.release();
key.isDown = false;
key.isUp = true;
}
event.preventDefault();
};
window.addEventListener( "keydown", key.downHandler.bind(key), false );
window.addEventListener( "keyup", key.upHandler.bind(key), false );
return key;
}
移動
// 按鍵移動
// 初始化速度
cat.vx = 0;
function setup() {
...
var right = keyboard(39);
right.press = function() {
cat.vx = 5;
};
right.release = function() {
cat.vx = 0;
};
...
}
function gameLoop(){
...
// 按照速度進行移動
cat.x += cat.vx;
...
}