在Flash中构建基于平铺的地图 var-square:Sprite=new-Sprite(); 变量tileWidth:int=32; 变量tileHeight:int=32; 变量行:int=0; 对于(变量i:int=0;i 0) { 行=32*i; } square.graphics.beginll(0x000000); 正方形。图形。drawRect(行,0,32,32); square.graphics.endFill(); addChild(方形); }

在Flash中构建基于平铺的地图 var-square:Sprite=new-Sprite(); 变量tileWidth:int=32; 变量tileHeight:int=32; 变量行:int=0; 对于(变量i:int=0;i 0) { 行=32*i; } square.graphics.beginll(0x000000); 正方形。图形。drawRect(行,0,32,32); square.graphics.endFill(); addChild(方形); },flash,actionscript,Flash,Actionscript,这是我到目前为止的代码,是正方形的。图形怎么办?我如何画一张画的瓷砖?我是否需要将图形保存在某种数组中以进行碰撞之类的检查?如果您希望从中获得任何性能,那么在这种情况下,您需要查看诸如闪烁或将像素数据从源图像复制到单个显示对象之类的内容。所以你用你所有的瓷砖做了一个疯狂的图像。然后,blit引擎将表示该平铺的图像的特定框复制到较大显示对象中的特定位置 Google-as3 blitting-或check out如果你想从中获得任何性能,你需要看看blitting之类的东西,或者在这种情况下将像素

这是我到目前为止的代码,是正方形的。图形怎么办?我如何画一张画的瓷砖?我是否需要将图形保存在某种数组中以进行碰撞之类的检查?

如果您希望从中获得任何性能,那么在这种情况下,您需要查看诸如闪烁或将像素数据从源图像复制到单个显示对象之类的内容。所以你用你所有的瓷砖做了一个疯狂的图像。然后,blit引擎将表示该平铺的图像的特定框复制到较大显示对象中的特定位置


Google-as3 blitting-或check out

如果你想从中获得任何性能,你需要看看blitting之类的东西,或者在这种情况下将像素数据从源图像复制到单个显示对象。所以你用你所有的瓷砖做了一个疯狂的图像。然后,blit引擎将表示该平铺的图像的特定框复制到较大显示对象中的特定位置


Google-as3 Bliting-或check out

我无论如何都不是游戏开发者,所以我不愿意将此作为答案发布,但我的想法是您希望有一个包含所有瓷砖的精灵,在该精灵中,您希望根据行/列设置位置,而不是在每个精灵中偏移图形。通过这种方式,您可以使用“地图”精灵中每个磁贴精灵的x、y、宽度、高度来进行碰撞检测。我不是游戏开发人员,所以我不愿意将此作为答案发布,但我的想法是您希望有一个能够容纳所有磁贴的精灵,在该子画面中,您需要基于行/列设置位置,而不是在每个子画面中偏移图形。通过这种方式,您可以使用“贴图”精灵中每个平铺精灵的x、y、宽度和高度来执行碰撞检测。
var square:Sprite = new Sprite();

var tileWidth:int = 32;
var tileHeight:int = 32;

    var row:int = 0;

    for (var i:int=0;i<5;i++) {

        if (i > 0)
        {
            row = 32 * i;
        }

    square.graphics.beginFill(0x000000);
    square.graphics.drawRect(row,0,32,32);
    square.graphics.endFill();
    addChild(square);

    }