正在生成的对象,但未在正确的位置绘制

时间:2016-08-02 14:45:09

标签: javascript html canvas

好的,所以我有一个游戏,我有一些树对象需要在一侧或另一侧绘制。问题是,即使条件正在工作并且正在绘制树木,它们也没有遵循SIDES_RATE条件,特别是在第2侧,它们将朝向相反的方向,而在第1侧它们几乎是直线移动,而不是对角线。

这是我的树类:

function Tree1(side, pos_x) {
    this.speed = TREE_SPEED;
    this.side = side;
    this.height = 107;
    this.width = 49.3;
    this.pos_x = pos_x;
    this.pos_y = 10;
    this.tree1_image = tree_images[this.side];
}

这是我的Tree控制器

setInterval(generateTree, TREE_SPEED * 1000);

function generateTree() {
    a = (Math.round(Math.random()));
    if (a == 0){
        tree1_array.push(new Tree1(Math.round(Math.random()),200));
    } else {
        tree2_array.push(new Tree2(Math.round(Math.random()),600));
    }
}

function moveTree(tree){
    tree.height += ZOOM_RATE;
    tree.width += ZOOM_RATE;

    if (tree.side == 0){
        tree.pos_x -= SIDES_RATE;
    } else if (tree.side == 1) {
        tree.pos_x += SIDES_RATE;
    }

    tree.pos_y += TREE_SPEED;

}

function treeController(){
    for (i = 0; i < tree1_array.length; i++){
        if (tree1_array[i].pos_y > 900){
            tree1_array.splice(i,1);
        } else {
            moveTree(tree1_array[i]);
        }

    }

}

这是我画它们的地方:

Game.draw = function() {
    for (i = 0; i < tree1_array.length; i++) {
        this.context.drawImage(tree1_array[i].tree1_image,
            tree1_array[i].pos_x - tree1_array[i].width/2,
            tree1_array[i].pos_y - tree1_array[i].height/2,
            tree1_array[i].width,
            tree1_array[i].height);
    }
}

我不知道它发生了什么。一切都有帮助。

0 个答案:

没有答案