1

在一个小型的 crafty.js 项目中,我使用了一个精灵作为背景图像,但它呈现在其他精灵之上。我该如何解决?主场景代码如下:

    Crafty.scene('game', function () {
    Crafty.background('bg');
    Crafty.e("Background, DOM, 2D, bg")
          .attr({ x: 0, y: 0});
      drawStage();
    points = 0;
    updatePoints();

    var speed = 1; // Number of frames per second

    // Game objects

    var appleEvent = Crafty.bind('EnterFrame', function () {
      if (randomInt(0, 60) === 0) {
        Crafty.e('Apple')
              .attr({
                x: randomInt(1, 19) * cell,
                y: randomInt(1, 16) * cell
              });
      }
    });
  }, function () {
    Crafty.unbind('EnterFrame', appleEvent);
  });
4

2 回答 2

0

目前尚不清楚“bg”的来源,但我遇到了类似的问题,背景图像覆盖了前景内容。这个论坛帖子有答案:https ://groups.google.com/forum/?fromgroups=#!topic/craftyjs/pdxcYi8T_j8

基本上,我没有将实体分配给背景,而是将图像 URL 路径分配给本地文件:

Crafty.background("url('path/to/image.png')");
于 2013-04-27T18:47:22.090 回答
0

具体设置实体的z-index怎么样?

var img_w = 1024;
var img_h = 768;
var bg = Crafty.e("2D, DOM, Image").attr({ w: img_w, h: img_h });
bg.z = 0;

稍后在代码中:

var player = Crafty.e();
player.z = 1;
于 2013-09-22T20:09:09.940 回答