J'utilise CocOS2D-X et j'essaie de détecter des touches dans mon projet Helloworld. Bien que je n'ai pas de chance.
.h p> .ccp p> mais la chose est que Lorsque je clique sur l'écran "Ceci" ne se présente jamais dans le journal. Qu'est-ce que je manque ici? P> Merci! P> Modifier, P> IM en utilisant ce didacticiel.
http://www.raywenderlich.com/11338/cocos2d-x- for-ios-and-android-game-jeu p> p>
6 Réponses :
Vous devez vous enregistrer avec CCTOUCHDISPATCHER afin de recevoir des touches:
Écrivez ceci dans votre init () code> méthode afin de recevoir des touches: p>
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
Hmmm I Obtenir l'erreur Aucun membre nommé 'SharedDispatcher' Code> dans 'Cocos2D :: Dispatcher CCTouch' Quand je l'ajoute à mon init (), à helloworld.cpp
@JamesDunay: Quelle version Cocos utilisez-vous?
Alors maintenant, je reçois l'erreur, assertion a échoué: (FALSE), fonction CCTOUCHBEGAN, Fichier / iPhone / Eyes / Yeux / Yeux / Yeux C ++ / Libs / Cocos2DX / Cocos2DX / CiCOS2DX / COCOS2DX / COCOSS_SCENES_CP P, LIGNE 292. < / code>
J'ai posté le didacticiel que j'utilise et cela ne semble pas mentionner aucun gettouchdispatcher code> ou
ccTouchdispatcher code>, mais je suis capable de vous connecter des résultats dans sa méthode
Êtes-vous responsable de supprimer le délégué ciblé lorsque le calque est supprimé?
Alors quelque chose de super simple, il suffit d'ajouter p>
à mon init (); fonction. p> this-> setTistouchenabled (true); code> p>
'this' never shows up in the log hints You might be using a different version of Cocos2D library. Please go to cocos2d.h on your project and confirm. (the sample was written on 1.0.1). If you are on a different version, (guessing) you might have to use different ccTouchesBegan signature and/or fix more than just setIsTouchEnabled to make it work. I just downloaded the sample, and the ccTouchesBegan call works perfect - without any changes.
this-> setouchenabled (true); code> fonctionne mieux que
CCTOUCHDISPATCHER :: SharedDisPatcher () -> AddTtargetedDelegate (Ceci, 0, True); Malheureusement, mon CCTouchMoved n'est pas Choisir n'importe quoi ...: ( P>
pour cocos2d-x v3.0 ..
Écrivez ceci dans votre fichier ".h" p> écrire ceci dans votre "code> init () 'fonction code> .. p> et écrivez ceci dans "CPPP". P> bool "YOURCLASSNAME"::onTouchBegan(cocos2d::Touch* touch, cocos2dEvent* event)
{
CCLOG("this");
return true;
}
ici dans la méthode ci-dessous, j'applique Touch sur Sprite, si vous souhaitez appliquer l'événement tactile sur Textfield, le nœud, l'arrière-plan ou dans n'importe quel composant, transmettez ce composantype dans cette méthode et il fonctionnera ....
Ok commence !!!! p> ici La cible est votre composant, où vous souhaitez appliquer le toucher sur celui-ci p> N'oubliez pas de Appelez cette méthode de CTOR ou n'importe où en fonction de votre exigence p> p>