如何变形图像?

时间:2011-03-30 05:27:54

标签: iphone ipad ios4

嗨朋友们  我想制作一个简单的游戏应用程序,用户点击汽车,从那一点开车就意味着当用户点击汽车图像时图像变形很小。我知道使用大量图像可以实现一切,并在用户点击汽车图像时获得更改,但我不想使用这么多图像。

对此有什么解决方案,我怎样才能使图像变形..对于我的英文而言,但是,在这里我粘贴了一个闪存游戏的链接,这就是我想要的......

http://www.playgecogames.com/file.php?f=657&a=popup

请尽快回复 感谢

5 个答案:

答案 0 :(得分:3)

您不会说这是2D或3D,还是您要使用的技术。

如果您使用OpenGL实现游戏,则相当简单。对象可以由常规网格组成,图像作为纹理映射到网格。当用户点击对象时,您只需要变形网格。

一种简单的方法是在撞击方向上取一个矢量,将最近的顶点移动一个与撞击力成比例的量,然后扇出以使其余的网格变形量减少。通过变形网格,图像纹理将使用您喜欢的所有凹痕或变形进行渲染。

如果你想在没有OpenGL的情况下使用直接图像,可以使用图像重采样来模拟效果。您拥有原始的原始图像,经过“过滤”以构成生成的图像。起初没有变形,因此您逐字复制原始图像。每次用户点击对象时,您都可以在感兴趣的本地区域内使用过滤器或变换添加变形。此函数将以扭曲的方式重新采样源图像,使其看起来像对象已损坏。

如果你查阅一些关于游戏开发的好书,你会发现很多对象碰撞,变形等方法。

答案 1 :(得分:1)

如果您对图像处理技术有所了解,请参阅以下图像访问图像像素: Apple Reference

你也有这样的库,例如:
simple-iphone-image-processing

但是对于你想要做的事情,这可能不是最简单的方法。我建议你根据可能受影响的区域将汽车分成几个图像。然后,每次碰到汽车时,只需更改与损坏区域对应的图像。

答案 2 :(得分:0)

我认为你应该使用cocos2d效果http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide%3aeffects +多个图像。因为玩家踢车后会有很多部件掉落。就像当用户踢侧镜时,您应该在没有侧镜汽车图像的情况下更改汽车图像。

答案 3 :(得分:0)

制作该Flash游戏的人使用了大约4张图像来显示汽车。如果你想让游戏在2d,最简单的方法就是把汽车拉成大约4件(左侧+右侧(左侧的副本)罩和车顶)。

如果你想“真正”变形汽车,你必须使用像openGLES这样的3D引擎。

我真的建议在2d做这件事:)

答案 4 :(得分:-1)

我建议看一下cocos2d游戏引擎。您可以使用效果修改图像,这些效果是使用虚拟网格应用的。在他们的编程指南中查看effects page