2015-02-09 33 views
1

我正在Unity2D与JavaScript做一个空闲的游戏,我试图通过非常缓慢地建立一个基于我有几个存储在游戏的文件中(假设为png)。每当玩家的总得分开始增加时,该图片需要显示另一个像素,并在他花费这些点时移除像素。有了大图像,这需要花费相当长的时间,但显示出进步。如何重新创建一个像素作为一个变量preng png像素增加

在我学习python之前,我曾经玩过各个像素,但我从来没有见过像这样使用像素操作。任何想法将是一个很大的帮助谢谢。

+0

你想随机显示的像素? – 2015-02-09 08:20:55

+0

我宁愿按顺序做,但如果随机更容易,那么我会这样做。 – user3620220 2015-02-09 08:23:05

回答

0

制作预制像素精灵并将它按顺序叠加在图像上。将预制件存储在一个数组中。他们已经准备就绪,所以处理隐藏和显示它们将很容易。您可以通过排序图层来隐藏/显示(将它们移动到背景图层以隐藏,将它们移回到前景图层以显示)。

http://docs.unity3d.com/Manual/Prefabs.html

http://unity3d.com/learn/tutorials/modules/beginner/2d/sorting-layers

+0

这是一个好主意,除非需要很长的时间才能实现。我使用9210600个人图像查看图像,即使使用的块大于单个像素,它仍需要很长时间。 – user3620220 2015-02-09 08:37:45

+0

真的吗?我更担心有数以百万计的精灵。对我来说,执行时间似乎相当低。我看到你在上面的评论中逐行地提及像素。我不确定你是否明白这可以通过几个循环和几个处理函数来轻松完成。 Unity让它变得更加困难,因为“像素”确实不是一件事情,但让单位和相机正确,你应该被设置。 – 2015-02-09 10:01:05

+0

真的吗?因为我无法想象一个能够检查当前得分总数的循环,并且可以根据当前显示的像素数量来添加或减去像素。也意味着在我之前的评论中说“9210600个别像素”,但它并没有让我编辑。 – user3620220 2015-02-09 10:30:06

1

你可以调整图片的大小,即缩小和拉伸它 - 如果这是一个简单的进度条。或者你可以用例如黑色纹理并调整其大小以覆盖您不想显示的进度条部分。如果你想以2d为基础显示像素(例如逐行显示),你可以使用两个矩形来覆盖那些你不想显示的部分。 如果你真的想揭示随机像素,你仍然可以使用掩码,但请记住unity2d并不意味着以每个像素为基础工作。你可能需要一个自定义着色器,这不是微不足道的。

+0

听起来像它可能比它让图像被显示或像素逐像素值得更麻烦。逐行操作不是一种选择,同样适用于收缩和拉伸。 – user3620220 2015-02-09 08:31:18

+0

真的为什么要让一个精灵掩盖所有尚未显示的行,以及另一个精灵掩盖当前显示行中的像素,这非常麻烦?正如你可以在其他评论中看到的那样:逐个像素思考并不是团结一致的方式。从性能角度来看,假像素显示可能会快得多。我建议的解决方案背后的数学相当简单。 – 2015-02-09 13:36:02

+0

主要用于所用图像的里程数。如果我用1028x720图像的像素厚度的线条,我可以得到的最佳效果可能是在玩家获得奖励之前的15-30分钟。如果我排列一些10-5图像,这不是一个问题。 – user3620220 2015-02-09 14:14:58

相关问题