Как обмениваться данными между двумя слоями в cocos2d-x?

У меня есть слой A с кнопкой навыка и слой B со спрайтом плоскогубца, что мне нужно, так это то, что когда я касаюсь кнопки навыка, плоскогубец будет использовать навык. Как я могу сообщить об этом Слою B, когда я нажимаю кнопку? Кто-нибудь может показать мне простую демонстрацию?


person tomboy    schedule 07.06.2012    source источник
comment
Недостаточно ясно. не могли бы вы вставить свой пример кода? ваши два слоя в одной сцене? какой слой создается первым? Чтобы упростить задачу, вы можете сохранить указатель, указывающий на слой B, в слое A, а затем вызвать функции слоя B. Чтобы сделать его красивым и элегантным, используйте класс делегата.   -  person m.ding    schedule 07.06.2012


Ответы (1)


Я думаю, что лучший способ - использовать структуру Singleton. Например, создайте DataModule, создайте геттеры и сеттеры и вызовите их, используя статический указатель для записи или чтения данных.

person vgonisanz    schedule 07.06.2012
comment
Я думаю, что ему может понадобиться не просто передача данных, а скорее указатель на функцию. В противном случае он мог бы просто использовать CCUSerDefault, если данных не так много. - person m.ding; 08.06.2012
comment
Спасибо за ответ, я сделал это прошлой ночью с синглтоном, ваши советы мне очень помогли, большое спасибо. - person tomboy; 09.06.2012
comment
Тогда отметьте ответ как правильный :D Зеленая галочка под цифрой 1 - person vgonisanz; 09.06.2012