我现在用cocos2d引擎设计游戏,并加载了全部的精灵(sprite),但是由于一部分精灵高度要大于320像素,所以很难将它们完全加载进来。为了方便,我打算实现ZOOM IN和ZOOM out效果,ZOOM IN可以瞬间让全部精灵最小化,ZOOM out则会让它们恢复最初的状态。
怎么样才能创造出这种效果吗?同时,希望大家也可以为我讲一下有关pinch zoom的内容。
我现在用cocos2d引擎设计游戏,并加载了全部的精灵(sprite),但是由于一部分精灵高度要大于320像素,所以很难将它们完全加载进来。为了方便,我打算实现ZOOM IN和ZOOM out效果,ZOOM IN可以瞬间让全部精灵最小化,ZOOM out则会让它们恢复最初的状态。
怎么样才能创造出这种效果吗?同时,希望大家也可以为我讲一下有关pinch zoom的内容。
答:Michael Fredrickson
(最佳答案)
想实现zoom的效果很容易,只要设定游戏的main layer的scale属性即可,但是仍然有一些细节需要注意。
在缩放layer时,会整体提高layer的位置,如果在游戏中想要实现滚动的效果,你需要作出如下设定:
可以将layer中的anchorPoint设定成ccp(0.0f, 0.0f),然后算出layer上升的距离,再重新设定参数,让它回复原状。
实现Pinch zoom很简单,只要检测touchesMoved,然后调用滚动路线(scaling routine)即可。
答:Andrew
如果所有的精灵都来自同一个parent,你可以将其进行缩放设置,协调不同parent,保证它们之间的关联性。
答:mohammad alabid
以下代码可以将layer的位置缩放2倍,