Попытка доступа к классу из GameLayer

У меня есть пользовательский класс «LinkWithNumber» с тремя спрайтами и на GameLayer в обновлении. Я пытаюсь проверить CGRectContainsRect для коллизий, но у меня возникли проблемы с попыткой получить доступ к спрайту в файле класса (у меня мало опыта, поэтому, скорее всего, Я испортил: P)

Я пробовал следующее:

LinkWithNumber.h

@interface LinkWithNumber : SKSpriteNode <SKPhysicsContactDelegate> { SKSpriteNode *collide; } 

LinkWithNumber.m

 @synthesize collide; //add collision object to the class collide = [[SKSpriteNode alloc]initWithColor:[SKColor blueColor] ...blah blah as normal [self addChild:collide]; collide.name = @"collide"; 

GameLayer.h

 @class LinkWithNumber; @interface GameScene : SKScene <SKPhysicsContactDelegate> { LinkWithNumber* twoSpritesWithParticlesBridge; } @property (nonatomic, strong)LinkWithNumber* twoSpritesWithParticlesBridge; 

GameLayer.m

 @synthesize twoSpritesWithParticlesBridge; -(void)addStaticLinkedSpriteWithParticles { twoSpritesWithParticlesBridge = [[LinkWithNumber alloc]initWithlinkSpriteA:@"RoseMine06" spriteB:@"RoseMine06" andPlistAnimation:@"need to create animations" distbetween:300 hasParticles:YES ParticlesNamed:@"Fire"]; [self addChild:self->twoSpritesWithParticlesBridge]; twoSpritesWithParticlesBridge.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize: twoSpritesWithParticlesBridge.frame.size]; } -(void)update:(CFTimeInterval)currentTime { LinkWithNumber *currentSprite = (LinkWithNumber*)[self childNodeWithName:@"collide"]; //NSLog(@"currentSprite Name @%@", currentSprite); //gets nil if (CGRectContainsRect(myShip02.frame,currentSprite.frame)) { NSLog(@"Hit barrier can pass"); } } Any help would be appreciated :) 

Как найти объект класса … Решение, благодаря 0x141E!

  //name it on setup inside your customCLass //eg yourObject.name = @"collide"; //Now in Gamelayer locate your object by recursive search //it will look for any object named @"//collide" //without the slashes it will only look on the game layer //but since we need to dig a bit further we need them! LinkWithNumber *currentSprite = (LinkWithNumber*)[self childNodeWithName:@"//collide"]; NSLog(@"LinkWithNumber is %@",NSStringFromClass([currentSprite class])); //do something with your object if (currentSprite.position.y >0 ) { NSLog(@"currentSprite Position %f",currentSprite.position.y); } 

дополнительные услуги

Sknode Class ref для других функций поиска

Как перечислить все узлы

One Solution collect form web for “Попытка доступа к классу из GameLayer”

Я вижу два вопроса …

  1. Вы ищете только корневой узел (в данном случае сцену) для узла с именем «collide», но этот узел является дочерним LinkWithNumber узла LinkWithNumber не сценой. Чтобы рекурсивно выполнить поиск по всему дереву узлов, используйте @"//collide"
  2. Вы производите результат поиска указателю LinkWithNumber , но collide – это SKSpriteNode не LinkWithNumber .
  • Использование аудиоклипа, вызывающего утечку памяти
  • Как предотвратить перезапуск последовательности SKAction после декодирования?
  • Универсальная игровая позиция
  • Узел SkCamera имеет двусмысленный размер?
  • расширение для SKPhysicsContact crashing
  • Добавление SKSpriteNode в UIView
  • Swift SpriteKit PhysicsBody принудительно, как опция, с помощью Xcode
  • Major Bug, Sprite Atlas, созданный в XCAssets Folder, не поддерживает пакетную визуализацию
  • Найти CGPoint Местоположение подстроки в TextView
  • фатальная ошибка: использование нереализованного инициализатора «init (размер :)» для класса
  • Путаница: разница в SKSpriteNode и SKTexture.
  • Interesting Posts

    Встряхните UIView … но используя UIKit Dynamics

    UIScrollview получает события касания

    Как добавить 9 или более вкладку в UITabBarController?

    Xcode 6 случайным образом меняет раскадровки до размера WAny hAny?

    Как предотвратить двойное приглашение для геолокации в приложении Phonegap?

    Показать список эпизодов из списка подкастов

    RxAlamofire не может использоваться с URLRequest

    SIGABRT в каждую перезагрузку

    Помещенный запрос объекта падает с помощью aws sdk для iOS при подключении к Wi-Fi

    Firebase получить данные

    UIActivityIndicatorView в UITableViewCell не прекращает вращение

    Можно показать клавиатуру без использования UITextField и UITextView iphone app?

    Есть ли тип клавиатуры UITextField, который похож на цифровую панель, но допускает отрицательные числа?

    путаница в пути поиска заголовка для добавления статической библиотеки в xcode 4.x?

    iOS: «MyViewController» не соответствует протоколу «UITableViewDataSource»

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.