Ho un problema che non riesco a capire; probabilmente perché non ho la conoscenza corretta.Scorrimento di una mappa piastrellata in Cocos2D
Ho una mappa TMX realizzata in Tiled. La mappa è più grande della dimensione dello schermo (le tessere sono 32x32 pixel e ci sono tessere 100x100). Quello che voglio fare è essere in grado di spostare la mappa scorrendo lo schermo.
Ho esaminato vari tutorial online e ho esaminato l'esempio di paddle.m ma non riesco ancora a farlo funzionare. Tutte le esercitazioni che ho incontrato si concentrano sullo spostamento di uno sprite centrato su una mappa ... Ancora una volta, quello che voglio fare è essere in grado di spostare la mappa scorrendo/scorrendo lo schermo; molto simile quando si scorre l'iPod o si sposta un'immagine.
Qualcuno può aiutare?
Ecco il mio codice ccTouchMoved
-(void) ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event
{
CGPoint touchPointMap = [touch locationInView: [touch view]];
touchPointMap = [[CCDirector sharedDirector] convertToGL: touchPointMap];
touchPointMap = [self convertToNodeSpace: touchPointMap];
CCLOG(@"Touch Point Map %lf, %lf", touchPointMap.x, touchPointMap.y);
self.position = CGPointMake(touchPointMap.x, touchPointMap.y);
}
Per illustrare il problema che sto vedendo sullo schermo quando ho Sfiora lo schermo utilizzando il codice di cui sopra: Sembra che se tocco il centro dello schermo, il l'angolo in basso a sinistra della mappa salterà a quella coordinata toccata e si muoverà con il mio tocco fino a quando il mio tocco non sarà sollevato. L'angolo in basso a sinistra della mappa si sposta sempre verso il punto in cui inizio il mio tocco. Anche mentre la mappa viene spostata, lampeggia come un matto e se spostata eccessivamente, scompare del tutto.
Grazie ancora Tutto, molto apprezzato. Cordiali saluti, hiro
Questo codice è ora parte dei Cocos2d-extensions: https://github.com/cocos2d/cocos2d-iphone-extensions – drewish