image - AS3 平铺背景与不同的瓷砖

标签 image actionscript-3 flash background

我正在尝试找出制作平铺背景的正确方法。我看过很多其他人都在谈论这个问题,但对我来说,似乎我读过的所有人都在谈论只是制作重复的背景。

我希望能够使用不同的图像/图 block 来制作我的背景。

这张图片: http://ft.trillian.im/e246659bd210e2ec6d17acc076468f23fbc820d5/6hIXP37GTFJEfNukDmBkCFN6yh3lx.jpg 表明我在想什么。 1 和 2 是相同的图 block ,就像 3 和 4 一样,5、6、7 是相同的。

我很新,我不确定是否需要像我在其他问题上看到的那样制作位图或 Sprite 或动画剪辑或其他什么。

我所知道的是,我需要动态创建它并且只在后台运行。如果用户点击它,它不会识别出它被点击了。 (换句话说,它会认为用户正在触摸舞台。)我还需要能够与背景顶部的影片剪辑进行交互。 我还可能想在原始背景之上叠加其他背景图像。我对此不确定,也许我只会为这种类型的东西制作一个新的瓷砖。

这是错误的处理方式吗?将整个背景绘制为一张大图像是否更实用?

我想这样做的部分原因是这样我可以使当前显示在舞台上的背景的其他部分不可见,以节省处理时间。或者达到这种效果的东西可能会完全删除它,然后在它进入 View 时重新添加它。

任何关于如何以这种方式将图像添加到舞台的具体代码都会非常有帮助。

谢谢。

最佳答案

您需要的是平铺引擎。如果您愿意,可以从头开始编写一个简单的实现。基本组件是图 block map 、 Sprite 集合以及将它们组合在一起的引擎。

您的图 block map 将是 Sprite ID 的二维数组。

var tilemap:Array = [[1, 1, 1, 2, 2, 1, 1, 1], [1, 1, 1, 2, 2, 1, 1, 1], [1, 1, 1, 2, 2, 1, 1, 1]]

每个数字对应一个 Sprite ID,该 ID 引用文件名或符号链接(symbolic link) ID。

引擎解析图 block map ,获取 Sprite 并通过并排放置 Sprite 来组成更大的背景位图。

关于此实践的一个很好的教程可以在 http://gamedev.tutsplus.com/tutorials/implementation/parsing-tiled-tmx-format-maps-in-your-own-game-engine/ 上找到。 .

关于image - AS3 平铺背景与不同的瓷砖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17462329/

相关文章:

actionscript-3 - AS3 - 如何使用鼠标事件的像素/点检测而不是对象检测

apache-flex - 在 Adob​​e Flex 中获取用户的语言环境

c++ - 将拆分的 TCP 数据包与闪存套接字重新组合

Flash/Facebook - 向 SWF 动态添加跨域策略?

jQuery 与 Flash

c# - 如何将索引像素格式图像转换为 32 位图像?

java - Android 中以编程方式实现位图大小 vs.亚行大小

当所有图像加载时jquery div

ios - TabView 中的奇怪图像行为 : Image Fails To Scale

actionscript-3 - Stage3D 中的阴影转换着色器