Cocos2D iOS之旅:如何写一个敲地鼠游戏(二):Cocos2D中的高清支持
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)
免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!
高清显示和Cocos2D
好吧,有一个好消息 — 在最新版本的Cocos2D中包括了高清屏的完整支持,你可以用下面1-2-3步就可简单搞定!
- 在调用CCDirector的enableRetinaDisplay方法在app开始时启用高清支持.如果你使用cocos2D项目模板,你只需要在app delegate中在那一行去掉注释即可.
- 增加高清精灵到你的app中,但是不是使用”@2x”后缀,而是为cocos2D使用”-hd”后缀.当你加载精灵的时候,在普通屏将使用普通图片,在高清屏Cocos2D将在高清屏自动为你加载高清图片.
- 现在你可以在Cocos2D中使用点来代替像素来定位了.注意一些APIs(但不是很多)任然必须以像素处理 — 当在这种情况下,它们的名称中将带有像素字眼,否则一律一点来处理.
在一般情况下,最容易的事是制作一张最高分辨率的图片(比如高清屏下的2X大小),然后你可以简单缩小图片到普通的iphone适用的尺寸上.
你可能会奇怪为什么要劳神创建两张不同的图片 — 为什么不总是调用一张大的图片然后用编程将其缩小呢?好吧,加载纹理到内存中是app的内存克星,所以如果你在普清屏上加载高清图片将会浪费大量的内存.
但是别担心 — 你不需要总是在Photoshop中缩放图片.TexturePacker实际上已经有了缩放给定图片的特性,它正好被用在我们的Cocos2D之旅上.
iPad,iPhone以及屏幕纵横比
以上使得我们在高清屏中的处理更加容易,但是在iPad中怎么办?
好吧,这将给我们带来一个非常烦人的问题:如何使其在iphone和ipad上都能正常工作 — 比较这些设备的屏幕纵横比不一样!
iPhone的分辨率为480x320活着960x640 — 纵横比为1.5,而ipad分辨率为768x1024(原作者写作时高清ipad还未出世.猫猪注),纵横比为1.33.
这意味着如果你将一张在ipad(768x1024)填充整个背景的图片在iphone上重新使用的时候,可能不会完全适配.如果你按iphone的宽度来缩小图片(乘以0.9375),你将得到720x960,所以额外的部分将会被裁剪掉!
这很让人讨厌,因为不光是背景图片,屏幕纵横比问题也使得跨设备兼容难上加难.
这里有一些解决方案,这里列出一些(你可以在评论中也将你自己的解决方案贴出来):
- 在高清屏iPhone(640x960)屏幕中心划出一片”可玩区域(playable area).这将在边框附加有稍许额外的超出 — 你可以用背景将其掩盖,玩家可能甚至不会注意到.这将允许你容易的在各种不同的设备上重用素材和转换坐标.我们在本系列博文中就是用这种方法.
- 你可以在iphone上使用类似纵横比,如果你在ipad屏幕上将”main content”限制在684x1024中的话,这将给你的ipad屏幕每条边带来42像素的边框.如果你能调整内容适应684x1024矩形,你也可以为其他设备缩小图片.
- 你可以为iPhone,iPad和高清屏设备准备不同的图片,它们的坐标系也不同.这将具有最大的弹性,但是也会增大app文件的尺寸
对于这些难题 — Cocos2D目前并没有任何帮助方法在ipad上自动为你加载”-hd”后缀的图片(新版本的Cocos2D已经可以为ipad选择合适的图片了.猫猪注),以及转换坐标系等等工作.一切都取决于你!
Cocos2D iOS之旅:如何写一个敲地鼠游戏(二):Cocos2D中的高清支持的更多相关文章
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(五):设置背景
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(八):为动画建立属性列表
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(三):素材最终解决方法
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(一):高清屏显示和UIKit
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(六):放置地鼠
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(十一):完善游戏逻辑
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(七):弹出地鼠
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(十):创建游戏逻辑
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(九):创建动画
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
随机推荐
- 树链剖分模板(BZOJ3083)
实现了路径修改,子树查询,及换根. 换根其实很简单,分三种情况讨论,画画图就明白了. #include <cstdio> #include <algorithm> using ...
- JAVA虚拟机:对象的创建过程
简要说明的话,Java对象的创建过程分为下面几步: 1.执行相关检查: 2.为对象分配内存,将分配到的内存空间都初始化为零值: 3.进行构造代码块和构造函数的初始化 下面详细介绍这几个步骤: 1.执行 ...
- 数据结构之并查集Union-Find Sets
1. 概述 并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题. 2. 基本操作 并查集 ...
- 网络不能上网但能ping通处理
同事电脑不能上网,经过检查可以排除网线和网络问题,默认网关以及网页地址都能ping通,从网上搜索说是LSP问题,但是根据其操作方式修复,还是无效. 最后,不知道怎么捣鼓的,问题解决了. 操作流程: 1 ...
- [HCNA]VLAN配置Access接口
实验目的 1.理解VLAN的应用场景 2.掌握VLAN的基本配置 3.掌握Access接口的配置方法 4.掌握Access接口加入相应VLAN的方法 实验仪器 eNSP 实验原理 如网络拓扑图所示 各 ...
- JAVA 第二天 内部类
package com.company; /** * Created by Administrator on 2016/8/23. */ public class Outter {//生成的字节码文件 ...
- dict 字典的用法
因为这一章节用的比较多,而需要注意的得比较多, 所以总结的笔记也相对比较多一点,我就直接单独写了一页 ## {key:value} 1. key不能为列表 2.value可以是任意类型值 3.返 ...
- js数组排序,支持正反排序以及多维度排序
工作中遇到js数组排序问题,数组中存储的都是对象,于是就百度了下,利用别人的代码进行修改,最终完成可以倒序.反序,可以进行多维度排序的功能源码如下: /** * js数组排序 支持数字和字符串 * @ ...
- java连接sqlserver2008
java连接sqlserver2008时应有sqljdbc4.jar驱动包.连接的示例代码如下: import java.sql.*; public class ConnectSQL { public ...
- webpack4.x配置详解,多页面,多入口,多出口,新特性新坑!!
花了差不多一天多的时间,重新撸了一遍webpack4.x的常用配置. 基本上常用的配置都熟悉了一遍,总体上来讲,为了对parcel进行反击,webpack从4.x开始,正在朝着尽可能的简化配置文件的方 ...