2011-03-30 55 views
1

嗨朋友 我想製作一個簡單的遊戲應用程序,用戶在該應用程序中點擊該汽車並從該點打開汽車時意味着當用戶點擊汽車圖像時圖像變形不大。我知道使用大量圖像可能會有一切可能,並且在用戶點擊該汽車圖像時得到改變,但我不想使用這麼多圖像。如何變形圖像?

有沒有這方面的任何解決方案,我怎麼能變形的圖像..sorry我的英語水平,但是,在這裏,我貼的遊戲,是閃存的鏈接,這是我真正想要..

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

請回復很快 感謝

+1

爲什麼你不想使用圖像的具體原因?因爲這是最簡單的方法..並且您可以將汽車分爲部件併爲每個部件分配圖像......這樣,當用戶在一個位置碰撞時,您只能更改該部分車輛的下一個(更加變形的)圖像不是整個汽車的圖像..我想那是什麼在你的鏈接在線遊戲..圖像編輯算法不是很容易實現.. – lukya 2011-04-22 10:51:11

+0

謝謝4回覆朋友..但有沒有任何方法來變形圖像一點點。 ..使用多達100多個圖像實際上對我有意義。 – 2011-04-22 10:55:27

+0

您在問題中鏈接的Flash遊戲顯然不會使圖像數據變形,而只是將相同汽車的大量變體劃分爲較小的部分。使用圖像編輯算法幾乎不會給你好看的結果。唯一的選擇是使用OpenGL和非常高的車型。 – Till 2011-04-22 12:38:44

回答

3

你不說,如果這是在2D或3D,或者你要使用的技術。

如果你正在使用OpenGL實現遊戲,它非常簡單。該對象可以由一個規則的網格構成,圖像作爲映射到網格的紋理。當用戶擊中對象時,只會使網格變形。

一個簡單的方法是在擊中的方向上取一個向量,將最近的頂點移動一個與擊打力成比例的量,然後扇出,以減少的量使網格的其餘部分變形。通過變形網格,圖像紋理將與您喜歡的所有凹痕或變形一起呈現。

如果您想要不使用OpenGL和直接圖像,可以使用圖像重採樣來模擬效果。你有你的原始的原始圖像,這是'過濾'來組成最終的圖像。起初沒有變形,所以你逐字複製原始圖像。用戶每次擊中對象時,都可以在感興趣的局部區域內使用過濾器或變換添加變形。該功能會以扭曲的方式重新採樣源圖像,使其看起來像物體已損壞。

如果你查閱一些有關遊戲開發的優秀書籍,你會發現一系列對象碰撞,變形等方法。

1

如果你知道一些關於這裏的圖像處理工藝是用於訪問圖像的像素的文檔: Apple Reference

你也有庫,這個像這樣的:
simple-iphone-image-processing

但對於什麼你想這樣做可能不是最簡單的方法。我建議的是,根據哪些區域可能受到影響,將汽車劃分爲多個圖像。然後,每次撞車時只需更改與損壞區域對應的圖像。

+0

我也跟着同一個朋友,我把車分成幾個部分,每次擊中後我只是改變形象,這很容易,它表現出像我打車和劃傷occour在那一點.....但我不希望我想我nt使用這麼多的圖像 – 2011-04-22 12:45:44

+0

好吧,然後嘗試直接編輯像素:) – 2011-04-22 12:55:21

-1

我建議看看cocos2d遊戲引擎。您可以修改使用虛擬網格應用效果的圖像。看看他們的編程指南中的effects page

0

製作該Flash遊戲的人使用了大約4張圖片來顯示汽車。如果你想讓遊戲處於2D狀態,最簡單的方法就是把汽車拉開,將其切成4塊(左側+右側(左側的副本)遮光罩和車頂)。

如果你想「真的」變形車,你將不得不使用像openGLES這樣的3D引擎。

我真的建議在2d內做:)