1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | SnailBait.prototype = { ... createButtonSprites: function () { var button, buttonArtist = new SpriteSheetArtist(this.spritesheet, this.buttonCells), goldButtonArtist = new SpriteSheetArtist(this.spritesheet, this.goldButtonCells); for (var i = 0; i < this.buttonData.length; ++i) { if (i === this.buttonData.length - 1) { button = new Sprite('button', goldButtonArtist, [ this.paceBehavior ]); } else { button = new Sprite('button', buttonArtist, [ this.paceBehavior ]); } button.width = this.BUTTON_CELLS_WIDTH; button.height = this.BUTTON_CELLS_HEIGHT; button.velocityX = this.BUTTON_PACE_VELOCITY; button.direction = this.RIGHT; this.buttons.push(button); } }, ... }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | var SnailBait = function () { ... this.paceBehavior = { checkDirection: function (sprite) { var sRight = sprite.left + sprite.width, pRight = sprite.platform.left + sprite.platform.width; if (sRight > pRight && sprite.direction === snailBait.RIGHT) { sprite.direction = snailBait.LEFT; } else if (sprite.left < sprite.platform.left && sprite.direction === snailBait.LEFT) { sprite.direction = snailBait.RIGHT; } }, moveSprite: function (sprite, fps) { var pixelsToMove = sprite.velocityX / fps; if (sprite.direction === snailBait.RIGHT) { sprite.left += pixelsToMove; } else { sprite.left -= pixelsToMove; } }, execute: function (sprite, time, fps) { this.checkDirection(sprite); this.moveSprite(sprite, fps); } }, |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |