【发布时间】:2014-06-01 06:56:32
【问题描述】:
我是 n00b @ ActionScript3/Starling(两者)并希望创建一个(可显示的)对象,其内容基于来自指定模式的随机采样。
例如假设我有一个 TextureAtlas 有这样的图像:
+----+----+----+----+
| 0 | 1 | 2 | 3 |
+----+----+----+----+
| 4 | 5 | 6 | 7 |
+----+----+----+----+
| 8 | 9 | A | B |
+----+----+----+----+
| C | D | E | F |
+----+----+----+----+
实际上,纹理在图集中被命名为 random0000 到 random0015。为了这个问题,我使用了十六进制表示法,所以我可以如下说明问题:
我想从该模式动态创建一个随机位图并将其包含在八哥显示上下文中。一个随机位图可能是这样的:
234aab9c
346700bf
634bca9e
e349ba23
在这个例子中是一个 8x4 瓦片的位图。
假设我有一个像这样的循环:
var bitmapData:BitmapData = new BitmapData(32 * nwidth, 32 * nheight);
var textures:Vector.<Texture> = myAtlas.getTextures("random"); //random0000 ...
for(var i:uint = 0; i < nwidth; i++) {
for(var j:uint 0 0; j < nheight; j++) {
var texture:Texture = textures[Math.round(Math.random() * 16)];
//???
}
}
- 如何有效地将纹理转储到 (32*i, 32*j) 坐标(位图坐标)处的位图中。
- 假设我有
var bitmap:Bitmap = new Bitmap(bitmapData)和context作为starling 上下文:我可以使用什么对象(作为starling 可显示对象)来转储位图,并按预期作为静态图像附加到context? (context.addChild(???))。 - 以后可以安全地更改 bitmapData 并实时查看此类对象的更改吗?
谢谢,对于 n00b 的问题,我们深表歉意。
【问题讨论】:
标签: actionscript-3 bitmap starling-framework