Cocos2D iOS之旅:如何写一个敲地鼠游戏(一):高清屏显示和UIKit

时间:2023-12-14 12:07:38

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!

原文由Ray Wunderlich写成,地址在:

http://www.raywenderlich.com/2560/cocos2d-tutorial-for-ios-how-to-create-a-mole-whacking-game-part-1

猫猪的翻译有删减,但不影响项目的整体理解,感谢阅读 ;]

准备素材:总览

因为我们希望这个游戏运行在普通iphone,高清屏iphone以及ipad上,所以我们需要花些时间做些细致的计划:在我们继续搞起之前如何设置游戏素材.

为了理解如何适应尺寸和设置素材,我们需要首先涉及3个主题:

  • 高清屏显示和UIKit
  • 高清屏显示和Cocos2D
  • iPad,iPhone和屏幕纵横比

让我们开始吧!

高清屏显示和UIKit

普通iPhone和高清屏iPhone的不同之处在于后者可以显示2倍的像素.所以(在横屏中)作为普通屏幕480x320 px的替代,高清屏的分辨率为960x640像素.

Cocos2D iOS之旅:如何写一个敲地鼠游戏(一):高清屏显示和UIKit

“但是先等一下”,你可能会想,”为什么双倍增加像素没有使之前写的适用于480x320像素的app出问题呢?”,它可能会有(尤其当你在UIKit中硬编码帧大小的时候),除了在UIKit中你设置帧大小的时候,你实际上可以设置尺寸单位为点而不是像素.

在普通的iPhone上,一个点精确等于一个像素,但是在高清屏iphone上,一个点被定义为2个像素.所以当你以点来表示(10,10)位置的时候,在普通iphone中该位置确实在(10,10),而在高清iphone中该位置实际上在(20.20),所以它们都出现在相同的相对位置上,很酷不是吗?

当你使用Apple的空间或者Core Graphics时,Apple已经帮你写了在高清屏上使事情变得美好和简单的代码.

真正神奇的地方是你使用一张图片的时候.比如你在一个iphone app中使用一张200x200的图片.如果你不做任何事,在高清屏它将仅仅将图片放大到2倍大小 — 这看起来不太好因为你没有从高分辨率中获得任何好处.

Cocos2D iOS之旅:如何写一个敲地鼠游戏(一):高清屏显示和UIKit

所以你将要做的就是为你所有的图片提供其他的版本:一张普通版本,另一张为高分辨率版本.如果你你用”@2x”结尾来命名你的图片,无论何时你试图用[UIImage imageNamed:…]或相似的APIs载入一张图片时,它将会在高清屏设备上自动载入@2x的图片.

所以使得UIKit app在高清屏设备上运行非常简单 — 只要添加@2x图片,你的主要工作就完成了.

但是在Cocos2D上呢?