我在我的场景中使用触摸时遇到了问题。我已经创建了一个在sprite Builder中工作的Sprite (player.ccb),它在CCnode部分有一个name =player。下面是用GameScene编写的主要代码:因此,在打开模拟器之后,什么都不会发生,并且在Debug区域中没有编写任何内容。提前感谢您的帮助!
//
// GameScene.m
// MIOGIOCO18
//
// Created by Fabio Tavanti on 12/12/15.
// Copyright (c) 2015 Apportable. All rights reserved.
//
#import "GameScene.h"
@implementation GameScene
{
__weak CCNode* _levelNode;
__weak CCPhysicsNode* _physicsNode;
__weak CCNode* _playerNode;
__weak CCNode* _backgroundNode;
}
-(void) didLoadFromCCB
{
// enable receiving input events
self.userInteractionEnabled = YES;
// load the current level
[self loadLevelNamed:nil];
}
-(void) loadLevelNamed:(NSString*)levelCCB
{
// get the current level's player in the scene by searching for it recursively
_playerNode = [self getChildByName:@"player" recursively:YES];
NSAssert1(_playerNode, @"player node not found in level: %@", levelCCB);
}
//-(void) touchBegan:(CCTouch *)touch withEvent:(UIEvent *)event
-(void) touchBegan:(CCTouch *)touch withEvent:(CCTouchEvent *)event
{
NSLog(@"okaay pressed");
_playerNode.position = [touch locationInNode:self];
}
@end发布于 2016-01-24 23:07:34
我不知道您的ccb文件是如何构造的,也不知道您是否与实际的GameScene建立了适当的关系,所以对您来说最好的做法是将
self.userInteractionEnabled = YES;在GameScene的onEnter方法中...
https://stackoverflow.com/questions/34243513
复制相似问题