【问题标题】:Where is "sprite" defined?“精灵”在哪里定义?
【发布时间】:2013-05-11 22:13:33
【问题描述】:

在这个小提琴中究竟在哪里:(http://jsfiddle.net/wXs9J/)是“精灵”定义的?我在我自己的程序中使用了相同类型的动画,但我得到以下行:“Uncaught TypeError: Cannot read property 'stateAnimations' of undefined”:

function drawSprite(sprite) {
    ctx.drawImage(
    sprite.stateAnimations[sprite.currentState].tileset.image, 
    sprite.stateAnimations[sprite.currentState].frames[sprite.stateAnimations[sprite.currentState].currentFrame].split(',')[0] * sprite.stateAnimations[sprite.currentState].tileset.tileWidth,
    sprite.stateAnimations[sprite.currentState].frames[sprite.stateAnimations[sprite.currentState].currentFrame].split(',')[1] * sprite.stateAnimations[sprite.currentState].tileset.tileHeight,
    sprite.stateAnimations[sprite.currentState].tileset.tileWidth,
    sprite.stateAnimations[sprite.currentState].tileset.tileHeight,
    Math.round(sprite.positionX),
    Math.round(sprite.positionY),
    sprite.width,
    sprite.height
);
}

提前谢谢你

【问题讨论】:

    标签: javascript html undefined sprite typeerror


    【解决方案1】:

    对象

    var player = new Sprite({
        'left': spriteLeftAnim,
        'right': spriteRightAnim
    }, 'right', canvas.width / 2, canvas.height / 2, 44, 108, 100);
    

    在方法render()中作为名为@9​​87654323@的参数传入

    player 在同一文件的全局范围内定义。

    【讨论】:

    • +1 因为你打败了我 :) 如果这对任何人有帮助的话,它就是第 107 行。
    • 感谢您的帮助,但在阅读完本文后,我认为这不是问题所在。在这个小提琴 (jsfiddle.net/dqDAv) 中,我遇到了一个错误,我没有提示如何修复它。
    • 您没有在小提琴中包含player=。此外,没有名为 currentState 的对象
    【解决方案2】:

    Sprite 构造函数在第 28 行 在第 72 行创建了一个精灵(称为播放器) 这个精灵在第 107 行被传递给 drawSprite

    【讨论】:

    • 哇!被@karthikr 击败
    猜你喜欢
    • 2011-10-16
    • 2020-12-31
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2013-10-21
    • 2016-03-22
    • 2016-02-19
    相关资源
    最近更新 更多