come spostare l'oggetto in posizioni specifiche.come spostare l'oggetto in posizioni specifiche in cocos2d
per esempi. sto avendo una piccola barra (larghezza = 50, altezza = 10). devo spostare questo come stantuffo manualmente. Voglio spostarmi solo in x ordinate (i limiti x = 20 (punto iniziale) a x = 50 (punto finale)) nessuna mossa su coordinate y. ma si muove da 50 a 10 dopo i movimenti senza movimento. codifica: -
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (isPlaying) {
UITouch *touch = [[event allTouches] anyObject];
touchPosition = [touch locationInView:touch.view];
if (CGRectContainsPoint(para3.boundingBox,touchPoint)
isDragging = YES;
touchOffset = para3.position.y - touchPosition.y;
}
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
if (isPlaying) {
UITouch *touch3 = [[event allTouches] anyObject];
float distanceMoved =
([touch3 locationInView:touch3.view].y + touchOffset) -
para3.position.y;
float newY = para3.position.y + distanceMoved;
if (newY > 67 && newY < 99)
para3.position = CGPointMake(newY , para3.position.y );
//para3.contentSize/2
if (newY >67)
para3.position = CGPointMake(67, para3.position.y);
if (newY < 99)
para3.position = CGPointMake(99, para3.position.y);
}
}
Devi cercare i diversi sistemi di coordinate di Cocos e UIView. Quindi è necessario convertire il punto da locationInView. Non ricordo esattamente. Ma CCDirector è la classe che implementa questi metodi. ;-) Spero che questo sia stato d'aiuto. –
para3.position = cpp (x, y); Devi usare cpp (x, y); invece di CGPointMake (x, y); usando cocos2d – 0xDE4E15B
colpa mia, ccp (x, y); – 0xDE4E15B