Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript createjs spritesheet不是';t动画_Javascript_Canvas_Html5 Canvas_Easeljs_Createjs - Fatal编程技术网

Javascript createjs spritesheet不是';t动画

Javascript createjs spritesheet不是';t动画,javascript,canvas,html5-canvas,easeljs,createjs,Javascript,Canvas,Html5 Canvas,Easeljs,Createjs,我已经尝试了一段时间的精灵表移动,并尝试了easeljs文档中的各种方法。但是我还是不能让这该死的东西工作。所以我希望你们中的一些人能看看 我使用的精灵表是160x40,其中一个精灵是40x40 这是我的敌人函数,应该有动画:(第25行ish是创建。在移动函数中是gotoandplay) var-enemyWidth=40; var-enemyHeight=40; 功能敌人(编号){ 这个数字=数字; this.id=‘敌人’; var RANDOMOC=新位置在操场外(); enemyLoc=

我已经尝试了一段时间的精灵表移动,并尝试了easeljs文档中的各种方法。但是我还是不能让这该死的东西工作。所以我希望你们中的一些人能看看

我使用的精灵表是160x40,其中一个精灵是40x40

这是我的敌人函数,应该有动画:(第25行ish是创建。在移动函数中是gotoandplay)

var-enemyWidth=40;
var-enemyHeight=40;
功能敌人(编号){
这个数字=数字;
this.id=‘敌人’;
var RANDOMOC=新位置在操场外();
enemyLoc=新位置在操场外();
这个.x=一个OC.x;
this.y=c.y;
这是健康=100;
//敌人与玩家碰撞造成的伤害
这一点。损害=30;
var目标=新目标(此.x,此.y);
this.velX=target.velX;
this.velY=target.velY;
这个。hitScore=25;
this.killScore=this.hitScore*2;
var spriteSheet=new createjs.spriteSheet({
图片:[“资源/精灵/敌人精灵表.png”],
框架:{宽度:40,高度:40},
动画:{
步行:[0,3]
}
});
this.sprite=new createjs.BitmapAnimation(精灵表);
this.sprite.currentFrame=0;
this.sprite=new createjs.BitmapAnimation(精灵表);
this.sprite.x=this.x;
this.sprite.y=this.y;
this.sprite.width=enemyWidth;
this.sprite.height=enemyHeight;
this.collide=函数(arrayIndex,bullet){
如果(项目符号){
this.health-=玩家伤害;
}
如果(本健康指数为0)?金额:oldEnemiesAmount;
newEnemiesAmount=金额+(数学下限(旧enemiesamount)/5)
//创建一个层来繁殖敌人
enemyLayer=new createjs.Container();
//循环浏览所需数量。
对于(变量i=0;i
构建精灵表时,请尝试指定精灵表中的帧数

var spriteSheet = new createjs.SpriteSheet({
    images: ["resources/sprites/enemy_spritesheet.png"], 
    frames: {width:40, height:40, count: 4},
    animations: {
        walk: [0, 3]
    }
});

你看到精灵表显示了吗?你没有显示你的应用程序的代码,在那里敌人被创建,精灵被添加到舞台上,或者舞台被更新--你可以显示一些上下文吗?是的。我看到了序列中的第一张图片。这个项目非常庞大,所以老实说,小提琴是没有选择的。我有点希望我只是在创建spritesheet时犯了一个愚蠢的错误。此外,舞台在自动售票机中更新,所以这不应该是一个问题。我将把敌人的作品添加到我的帖子中。所以当你阅读本文时,它应该在那里;-)我没有看到任何跳出的东西-也许将spritesheet的东西隔离到一个钉子上以确保它工作-我怀疑有其他外部因素影响它。我支持隔离此问题的建议。只需在游戏主界面的后台直接创建一个测试spritesheet,并使其发挥作用。如果不起作用,请尝试从一组PNG中使用ZOE创建测试spritesheet JSON,以仔细检查它与spritesheet配置无关.我来试一试.现在谢谢你!
var enemies = [];
var newEnemiesAmount;
var oldEnemiesAmount;
function createEnemies(amount) {
    oldEnemiesAmount = (amount > 0) ? amount : oldEnemiesAmount;
    newEnemiesAmount = amount+(Math.floor(oldEnemiesAmount)/5)

    //Create a layer to spawn the enemies on
    enemyLayer = new createjs.Container();

    //Loop through the amount wanted.
    for (var i = 0; i < newEnemiesAmount; i++) {
        enemy = new Enemy(i);
        createEnemyBullet(enemy);
        //push the object in an array and add it to the newly made layer
        enemies.push(enemy);
        enemyLayer.addChild(enemy.sprite);
    }

    stage.addChild(enemyLayer);
}
var spriteSheet = new createjs.SpriteSheet({
    images: ["resources/sprites/enemy_spritesheet.png"], 
    frames: {width:40, height:40, count: 4},
    animations: {
        walk: [0, 3]
    }
});