gpt4 book ai didi

javascript - 在 EaselJS 中为 spritesheet 设置动画时出现问题

转载 作者:行者123 更新时间:2023-11-30 16:57:26 25 4
gpt4 key购买 nike

我正在尝试使用 EaselJS 为 spritesheet 设置动画,但我一直收到未捕获的类型错误:

undefined is not a function on this line -
bmpAnimation = new createjs.BitmapAnimation(spriteSheet);

到目前为止,这是我的代码:

// JavaScript Document
window.onload = function(){

//Creating a new Stage instance, passing in our canvas element's ID.
var stage = new createjs.Stage("canvas"),

imgMonsterARun = new Image();
imgMonsterARun.src = "img/MonsterARun.png";

var spriteSheet = new createjs.SpriteSheet({
// image to use
images: [imgMonsterARun],
// width, height & registration point of each sprite
frames: {width: 64, height: 64, regX: 32, regY: 32},
animations: {
walk: [0, 9, "walk"]
}
});

// create a BitmapAnimation instance to display and play back the sprite sheet:
bmpAnimation = new createjs.BitmapAnimation(spriteSheet);

// start playing the first sequence:
bmpAnimation.gotoAndPlay("walk"); //animate

// set up a shadow. Note that shadows are ridiculously expensive. You could display hundreds
// of animated rats if you disabled the shadow.
bmpAnimation.shadow = new createjs.Shadow("#454", 0, 5, 4);

bmpAnimation.name = "monster1";
bmpAnimation.direction = 90;
bmpAnimation.vX = 4;
bmpAnimation.x = 16;
bmpAnimation.y = 32;

// have each monster start at a specific frame
bmpAnimation.currentFrame = 0;
stage.addChild(bmpAnimation);

createjs.Ticker.setFPS(60);
createjs.Ticker.useRAF = true;
createjs.Ticker.addListener(window);

function tick()
{
// Hit testing the screen width, otherwise our sprite would disappear
if (bmpAnimation.x >= screen_width - 16) {
// We've reached the right side of our screen
// We need to walk left now to go back to our initial position
bmpAnimation.direction = -90;
}

if (bmpAnimation.x < 16) {
// We've reached the left side of our screen
// We need to walk right now
bmpAnimation.direction = 90;
}

// Moving the sprite based on the direction & the speed
if (bmpAnimation.direction == 90) {
bmpAnimation.x += bmpAnimation.vX;
}
else {
bmpAnimation.x -= bmpAnimation.vX;
}

// update the stage:
stage.update();
}
tick();

};

如有任何帮助,我们将不胜感激。

最佳答案

在 0.8.0 中,您可以使用普通的 SpriteSheet 创建动画 SpriteSheet。在 http://createjs.com/Demos/EaselJS/SpriteSheet 上查看演示(确保检查“实时编辑”下的代码;-))

关于javascript - 在 EaselJS 中为 spritesheet 设置动画时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29450956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com