我有这个:
CGPoint vel = hudLayer.rightJoystick.velocity;
CCBullet* sp = [CCBullet spriteWithFile:@"green.png"];
sp.position = player.position;
[self addChild:sp z:-10];
vel = ccpMult(ccpNormalize(vel), 300);
sp.rotation = //how to get the rotation out of the velocity?
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我有一个使用加速度计来移动玩家的游戏.出于这个原因,我想禁用自动旋转,以便在播放期间不会意外地旋转屏幕.我对Cocos2d很新,我不确定如何做到这一点.回归NO
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
Run Code Online (Sandbox Code Playgroud)
应用程序委托和使用中的方法
[[CCDirector sharedDirector] setDeviceOrientation:CCDeviceOrientationLandscapeRight];
Run Code Online (Sandbox Code Playgroud)
在图层工作,但然后在屏幕的右1/3出现一个黑色矩形.我究竟做错了什么?
我经常被告知要忽略这个编译器警告,因为在iOS的下一个主要版本发布之前它不会成为问题.嗯...如果我的iPhone应用程序不会突然停止工作一天会很好!
奇怪的是我没有使用cocos2d for OpenGL 2.0这个问题,只有OpenGL 1.1版本才有它.
这是否意味着新版本中提供了替代方案?
我开发使用cocos2D上一个纸牌游戏和最近上载其二进制在appstore.I用在游戏中的一些CCtransition效果,当我们从一个场景移动到another.The AppStore的拒绝与原因二进制" ,当用户点击任何的在发布屏幕底部的标签上,会产生一个全屏过渡 ".我现在可以做什么?是CCTransition,问题是什么?
完整的代码在这里: http ://pastebin.com/rdjDGLJS
编辑:最新的代码片段取自原始海报评论
NSMutableString *spriteType;
- (void) pickSpriteType {
randomSpriteNumber = arc4random() % 2+1;
switch (randomSpriteNumber) {
case 1:
spriteType = [NSMutableString stringWithFormat:@"typeOne"];
break;
case 2:
spriteType = [NSMutableString stringWithFormat:@"typeTwo"];
break;
}
}
- (void) findSpriteNumber {
levelNumberString = [NSMutableString stringWithFormat:@"%d",levelNumber];
NSString *path = [[NSBundle mainBundle] pathForResource:@"plist_enemies" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
spriteNumber = [[[dict objectForKey:spriteType] objectForKey:levelNumberString] intValue];
}
- (void) initSprite {
[self moveUp];
for(int i = 0; i<spriteNumber; i++) {
if ([spriteType isEqualToString:@"typeOne"]) { …Run Code Online (Sandbox Code Playgroud) 我正在创建一个切换开关.我有一个包含CCLayer的CCScene,其中包含一个ToggleNode.ToggleNode正确显示我输入的精灵和标签.触摸处理不起作用,因为ToggleNode的边界框似乎保持为零.我在CCLayer(它的作用是ccTouchBegan:withEvent:正在输入)中抓住了触摸,我有这个代码:
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
CGPoint touchLocation = [self convertTouchToNodeSpace:touch];
NSLog(@"bounding box: %f, %f, %f, %f", toggleNode.boundingBox.origin.x, toggleNode.boundingBox.origin.y, toggleNode.boundingBox.origin.x + toggleNode.boundingBox.size.width, toggleNode.boundingBox.origin.y + toggleNode.boundingBox.size.height);
NSLog(@"touch: %f, %f", touchLocation.x, touchLocation.y);
if (CGRectContainsPoint(toggleNode.boundingBox, touchLocation)) {
[toggleNode toggle];
}
return NO;
}
Run Code Online (Sandbox Code Playgroud)
触摸ToggleNode会导致:
bounding box: 512.000000, 384.000000, 512.000000, 384.000000
touch: 508.000000, 378.000000
Run Code Online (Sandbox Code Playgroud)
这让我相信边界框保持为零.但为什么?保留问题?我还在学习cocos2d,但我不认为这是正常行为.
..我想知道是否有一些设置我应该改变,以使我的iOS 5.0应用程序在iPhone IOS 5.0模拟器上正常运行.它的运行速度仅为12fps,而不是我的设备运行速度为60fps.有帮助吗?我原以为模拟器能正常工作..
我使用的是XCode 4.3和Mac OS X 10.7.3.
我试图让背景音乐一次又一次地播放和循环以及一次性声音,例如升级等.
我发现很多关于这个使用SimpleAudioEngine的教程,但是当我导入SimpleAudioEngine.h时,编译器声明"未找到SimpleAudioEngine.h文件"
我正在使用SpriteBuilder和cocos2d v3.
有谁知道我可以从哪里获得这门课程?
谢谢
我这里有一个非常奇怪的问题.目前,我在我的游戏中使用Cocos2D,它具有排行榜和成就.一切正常; 我可以登录,将分数发送到排行榜并完成成就.只有一件事不起作用:我无法展示成就视图.
我想要的是,当玩家在我的应用程序中打开游戏中心时,显示默认的"仪表板",其中您有不同的排行榜,顶部的标签可以转到"成就"视图.这是我目前的代码:
- (void) showGameCenter{
GKGameCenterViewController *gameCenterViewController = [[GKGameCenterViewController alloc] init];
gameCenterViewController.gameCenterDelegate = self;
gameCenterViewController.viewState = GKGameCenterViewControllerStateDefault;
if (gameCenterViewController != NULL) {
AppController *app = (AppController*) [[UIApplication sharedApplication] delegate];
[[app navController] presentModalViewController:gameCenterViewController animated:YES];
[gameCenterViewController release];
}
}
- (void) gameCenterViewControllerDidFinish:(GKGameCenterViewController *)viewController{
AppController *app = (AppController*) [[UIApplication sharedApplication] delegate];
[[app navController] dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)
奇怪的是,在iPhone上,"成就"标签从未出现在顶部,但是它在iPad上?!?!iPad上的一切都很好......
我还尝试将viewStategameCenterViewController 的属性更改为GKGameCenterViewControllerStateAchievements没有任何成功.还尝试使用GKAchievementViewController该类而不是GKGameCenterViewController,仍然无法正常工作.它总是把我送到排行榜视图......
我只是无法弄清楚出了什么问题.最奇怪的是iPad上一切正常 ......请帮助!
多谢你们!
PS我的游戏是在横向方向,我目前正在我的两个设备上测试iOS 7.0.6
我是Cocos2d框架的新手,我在主菜单场景中帮助弄清楚如何在循环中播放.wav文件.另外,我想要一些关于如何在两个精灵碰撞时发出声音的帮助.
谢谢
cocos2d-iphone ×10
ios ×9
iphone ×4
xcode ×2
app-store ×1
audio ×1
bounding-box ×1
game-center ×1
if-statement ×1
ios7 ×1
math ×1
rotation ×1
string ×1
velocity ×1