草庐IT

ios - CCNode 作为 CCScene 触摸处理程序 cocos2d v3 的子项

我已经为此苦思冥想了一段时间。我知道在cocos2dv3中它发生了变化,因此只要您设置contentSize并设置self.userInteractionEnabled=YES,CCNode就可以接受触摸。这对我不起作用。我有一个CCNode,我作为child添加到CCScene,但没有注册任何触摸。这是CCNode代码:-(id)initWithPortName:(NSString*)portNameandDesc:(NSString*)desc{self=[superinit];if(!self)return(nil);CGSizewinSize=[[CCDirectorshare

ios - 多个 OpenGL View (Cocos2D)

注意:任何可以帮助我完全解决此问题的人都将获得100点赏金!!!在我的应用程序中,我将UIKit与Cocos2D混合在一起,我使用addSubview和removeFromSuperview调用做了一些简单的自定义View动画。我最近需要在我的应用程序中添加另一个CCScene,以摆脱Cocos2D可以轻松处理的一些复杂的UIKit代码。所以我的应用程序中有一个基本View,它是一个带有一些按钮的UIViewController。在这些按钮的后面是一个CCGLView,Cocos2D将在其上执行任何操作。效果很好。然后当我想转到我的第二个ViewController(我们称之为我的游戏

ios - glTexImage2D 导致 GL_INVALID_OPERATION

这是我的(包装的)OpenGL调用,它导致GL_INVALID_OPERATION:GLTextures.TexImage2D(TexImage2DTarget.TEXTURE_2D,0,TexImageInternalFormat.LUMINANCE_ALPHA,Width,Height,TexImageFormat.LUMINANCE_ALPHA,TexImagePixelType.UNSIGNED_BYTE,source.GetData());此调用在Windows上有效,但在iOS上无效,在Windows中一切正常并显示纹理。我在iOS和Windows上使用相同的枚举值,甚至着

ios - cocos2d、box2d 和 retina 模式 : give up, 或尝试让它工作?

我一直试图让我的box2d游戏在Retina模式下运行,但在更高分辨率模式下运行时我遇到了很多恼人的问题。cocos2d在retina模式下正确渲染我的图形,但我发现需要一个接一个地hack才能让box2d像在低分辨率模式下一样工作。例如,我发现我需要做这样的事情才能在视网膜模式下获得正确的调试绘图形状大小:b2Vec2vertices[4];vertices[0].Set(-0.5f/CC_CONTENT_SCALE_FACTOR(),1.0f/CC_CONTENT_SCALE_FACTOR());vertices[1].Set(-0.5f/CC_CONTENT_SCALE_FACT

ios - `-costToNode:` 未发送到 GameplayKit 中的 GKGraphNode2D 子类

关于Apple的新GameplayKit,我有一个也许是愚蠢的问题。我正在为我的游戏创建基于二维网格的节点布局。我最喜欢GKGraphNode2D的功能,但想以一种方式对其进行调整。我想在遍历某种节点对时有条件地添加惩罚。换句话说,我希望一些节点以直接的方式连接,而一些节点连接使得它们的遍历距离由我的应用程序修改。我认为子类化GKGraphNode2D并覆盖-costToNode:和-estimatedCostToNode:会完美地工作!有时我会返回super提供的值,并在其他时候为我的游戏调整它。这两个方法是GKGraphNode的方法,GKGraphdNode2D的父类(super

ios - Xcode iOS 知名度 "zoom box"

Notability和其他笔记应用程序具有此“缩放框”功能,您可以在底部的放大框中绘图。用户还可以拖动顶部的框来更改他们想要在底部放大的内容。我已经尝试了所有我能想到的在我的应用程序中添加此功能的方法。我在两个View中添加了相同的文档,但后来遇到了很多内存问题,我复制了文件,但又出现了内存问题。有谁知道一个简单的方法来做到这一点?无论如何,我可以只拥有一个放大另一个View的View吗? 最佳答案 创建一个新的CocoaTouch类(可选择将其命名为MagnifyView)并将其设置为UIView的子类在您的类中添加以下代码:va

iphone - 在 xCode 4 中将 Cocos2D 添加到项目中

我在一个项目中工作,该项目需要具有相同的原生部分(cocoatouch)和cocos2d中的某些部分。我已经全部原生了,现在我需要在项目中集成cocos2d。我的问题是我无法成功地将cocos2d库添加到我的项目中。有什么好的解决方案吗?我正在使用xCode4 最佳答案 您基本上有两个选择。选项1:将cocos2d文件添加到现有项目正常添加cocos2d文件到您的项目(将源文件拖入,复制到目标文件夹)。在ViewController中创建一个EAGLView并将其绑定(bind)到CCDirector。(参见示例项目以供引用。选项2

ios - 如何在 Cocos2D 3.x 中为 CCSprite 制作动画?

你知道如何在新的Cocos2Dv3.x中为CCSprite设置动画吗?改了很多类,老方法好像不行了。NSMutableArray*animFrames=[NSMutableArrayarray];for(inti=1;i有什么想法吗?谢谢。额外信息 最佳答案 它是这样工作的:NSMutableArray*animationFrames=[NSMutableArrayarray];for(inti=1;i 关于ios-如何在Cocos2D3.x中为CCSprite制作动画?,我们在Stac

iphone - OpenGL ES/iOS/Cocos2d 中的叠加颜色混合

我正在尝试将BlendModes应用于GreyScale图像以获得可重用的静态资源我已经在互联网上搜索了几个小时,并且自己进行了测试,但没有找到任何解决方案。我从这张图片开始:基本的想法是以某种颜色在其上绘制一个矩形,并仅在alpha为1.0的情况下对图像应用混合模式这是代码(这是Cocos2d项目的一部分,尽管我认为它可以应用于通用的OGLES):-(void)draw{[superdraw];glBlendColor(0,255,0,255);glBlendFunc(GL_ZERO,GL_SRC_COLOR);glColor4ub(255,0,255,255);glLineWidt

ios - 如何使用 quartz2d/coregraphics 绘制圆角三角形

好吧,我想像这样画一个三角形:目前,我正在使用CAShapeLayer的组合并使用UIBezierPath创建路径(代码在下面),然后将其用作另一层的掩码(self.layer,因为我在UIView子类中,而不是而不是设置layerclass我这样做是为了保留初始层)无论如何代码:_bezierPath=[[UIBezierPathbezierPath]retain];#defineCOS300.86602540378#defineSIN300.5[_bezierPathmoveToPoint:(CGPoint){self.frame.size.width/2.f-r*SIN30,r*