ios - Ubicación del nodo de malla no actualizada, en cocos3d
(1)
Según su código, creo que el problema es que BounceAction1 se ejecuta con una duración de 0.1 y, por lo tanto, la propiedad estática de Ball no se ha actualizado cuando se ejecuta la instrucción NSLog. Para probar esto, intente insertar un sueño justo antes de la instrucción NSLog.
Estoy desarrollando un juego de mesa con Ball
, en cocos3d
. En eso he dado una acción en touchevent
. Estoy imprimiendo la ubicación en la consola usando NSLog()
.
Aquí está el código
-(void) touchEvent: (uint) touchType at: (CGPoint) touchPoint {
CCActionInterval *BounceAction1=[CC3MoveTo actionWithDuration:0.1 moveTo:cc3v(0.0, -5.0, -0.7)];
switch (touchType) {
case kCCTouchBegan:
[Ball runAction:BounceAction1];
NSLog(@"Location of x=%f and y=%f", Ball.globalLocation.x, Ball.globalLocation.y );
break;
}
Aquí, ''Ball'' es un MeshNode
. Su ubicación es en origen cc3v(0.0, 0.0, 0.0)
.
Cuando corro y toco, encuentro que la bola se mueve a la posición especificada. Pero me sale la ubicación del balón como:
Location of x=0.000000 and y=0.000000
Cuando vuelvo a tocar, encuentro que la bola no se está moviendo (ya que ya se ha movido a la ubicación especificada). Pero luego muestra la ubicación de Ball como:
Location of x=0.000000 and y=-6.000000
¿Por qué no puedo encontrar la ubicación la primera vez?