任何人都可以用一些例子来解释cocos-2D中位置和anchor之间的区别。我在谷歌中搜索但找不到很好的解释,在此先感谢。 最佳答案 假设您有一个10x10的正方形。如果你说你想把它放在屏幕上的(50,40)位置,那么你需要知道那个位置指的是什么地方——你的方block的左上角、左下角等等。anchor指的是这个位置。所以,如果你的anchor是(0,0)那么位置(50,40)将是你的正方形左上角的位置。如果您的anchor是(10,0),那么位置(50,40)将是您正方形右上角的位置,因此左上角将位于(40,40)。因此,anch
对于Cocos2dv2.0.0,进行了很多更改,很多人遇到了一些缩放问题和其他冲突......如果他们阅读并测试了RayWenderlich的好书:学习Cocos2d,则更是如此:维京人太大了,背景不居中,图像的后缀系统不起作用,......那么,如何进行呢? 最佳答案 基本上,在创建一个新的cocos2dv2项目时,示例项目中已经说明了一切。但是,我们中的一些人需要指出一些事情。iPhone(非视网膜和视网膜)和iPad(非视网膜和视网膜)的图像后缀系统查看AppDelegate.m中的第68-71行以下是您需要记住的内容:你只需
我正在构建一个使用cocos2D的应用程序。我使用iOS5开发了我的应用程序,现在当我使用iOS6模拟器进行测试时,整个应用程序都在旋转。我的应用程序应该处于横向模式,但iOS6将其旋转为纵向模式。任何建议都会有所帮助!谢谢! 最佳答案 iOS6改变了处理View旋转的方式。模板项目已更新并展示了如何更新您的项目。如果您想正确处理它,不仅仅是将addSubview更改为setRootViewController。Cocos2d2.0https://github.com/cocos2d/cocos2d-iphone/blob/deve
在给出解决方案之前已经在这里询问过但不能正常工作iOS6GameCenterCrashonAuthentication检查这个我有同样的问题。上面链接中的代码解决了它,GameCenter工作但现在cocos2d游戏旋转,这给游戏带来了问题。有没有人解决过或对此有任何解决方案也试过了,但没用GameCenterauthenticationinlandscape-onlyappthrowsUIApplicationInvalidInterfaceOrientation正如我所想,因为我正在使用cocos2d场景。目前我正在实现此代码来解决问题,因为我别无选择。-(NSUInteger)a
我正在编写一个应用程序,我绞尽脑汁想弄清楚为什么它总是崩溃。我认为这与计时器有关,但我不确定bt代码的含义。如果有人可以提供帮助,我将不胜感激。*thread#1:tid=0x1c03,0x01e3f051libobjc.A.dylib`_cache_getImp+9,stopreason=EXC_BAD_ACCESS(code=1,address=0xd0000008)frame#0:0x01e3f051libobjc.A.dylib`_cache_getImp+9frame#1:0x01e2cac4libobjc.A.dylib`lookUpMethod+42frame#2:0x0
由于CCTargetedTouchDelegate从cocos2d3.0开始被移除了,我想知道如何处理touchswallowing东西?我在Canvas节点(2.x中的层)顶部有一个小Sprite,需要将Sprite的优先级设置为高于Canvas。当用户在sprite边界框内触摸时,触摸被吞没,否则Canvas将响应它。 最佳答案 在cocos2d3.0中,触摸是按反向z顺序处理的。这意味着如果您的Sprite在Canvas节点之上呈现,它应该已经首先接收到触摸通知,并且有机会吞下它。但是,要接收和吞下Sprite的触摸,您应该遵
我有一颗子弹可以撞到一个方block。我想知道子弹是在x方向弹跳还是在y方向弹跳。就像您在图像上看到的那样,只有几个像素的差异让子弹向另一个方向反弹。(仅供引用:是的,子弹可以在我的游戏中反弹;-))有谁知道这个问题的简单可靠的解决方案吗?非常感谢您的帮助菲利克斯 最佳答案 为了实现弹跳,你需要做两件事:碰撞检测更新子弹的位置和速度第1步:如果您想正确检测碰撞,您必须计算矩形边框与连接当前子弹位置和计算出的下一个子弹位置的直线的交点(就好像没有障碍物一样)。如果有多个交点,取第一个碰到边界的交点。在Box2D中,您将使用raycas
在学习Cocos2d的过程中,我发现-(void)onEnter,-(void)onExit,可以像它们对应的一样使用,-(void)viewDidLoad,-iOSUIKit的(void)viewDidUnload我确实知道它们在技术上不是原始-(id)init的良好替代品,而且我经常看到学习Cocos2d的指导性文本仅使用-(id)init所有属性和变量的方法。但是,如果我使用-(void)onEnter进行分配和初始化,我可以引用self.parent以获得更简洁的代码。是否可以安全地假设我可以继续使用-(void)onEnter进行分配和初始化而不用担心它是否是使用Cocos2
你好,当我的游戏到达游戏结束场景时,我有一个返回主菜单的按钮,但由于某种原因,它已停止工作这是导致我的游戏结束场景的代码:[[CCDirectorsharedDirector]pause];[[CCDirectorsharedDirector]replaceScene:[ResultsScreennode]];在我的GameOver初始化函数中....mainMenu=[CCMenuItemImageitemFromNormalImage:@"MainMenu.png"selectedImage:@"MainMenuClick.png"target:selfselector:@sele
我正在寻找一种在我的Cocos2D应用程序中组合这2个if语句的简单方法。但是,到目前为止,我的尝试根本没有奏效。谢谢! 最佳答案 我相信您尝试将if语句组合成一个语句是因为您在实际理解该语句时遇到了问题。作为一名程序员,您的首要职责是编写可读代码,即使您是唯一一个阅读代码的人。我能想到为什么你只需要一个if语句的另一个原因是你认为这样会更快。首先,我将从将所有计算移出if子句开始。这不仅是重复的,而且容易出错并且很难阅读。我还冒昧地用乘以0.5f来代替除以2,因为ARM处理器没有除法指令,因此除法由软件执行并重写为乘法。编译器可能