Tôi đang phát triển trò chơi trên bảng bằng cách sử dụng Ball
, trong cocos3d
. Trong đó tôi đã đưa ra một hành động trong touchevent
. Tôi đang in vị trí vào bảng điều khiển bằng cách sử dụng NSLog()
.Vị trí nút mạng không được cập nhật, trong cocos3d
Đây là mã
-(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;
}
Ở đây, 'bóng' là một MeshNode
. Vị trí của nó có nguồn gốc cc3v(0.0, 0.0, 0.0)
.
Khi tôi chạy và chạm vào, tôi thấy bóng di chuyển đến vị trí đã chỉ định. Nhưng tôi nhận được vị trí của Ball là:
Location of x=0.000000 and y=0.000000
Khi tôi chạm lần nữa, tôi thấy bóng không di chuyển (vì nó đã di chuyển đến vị trí đã chỉ định). Nhưng sau đó nó hiển thị vị trí của Ball là:
Location of x=0.000000 and y=-6.000000
Tại sao tôi không thể tìm thấy vị trí lần đầu tiên?
Bởi vì, vị trí ban đầu cho quả bóng sẽ là (0, 0) – rptwsthi
Thực tế vấn đề của tôi là, sau khi chuyển động tôi cũng nhận được vị trí không thay đổi, tức là có được vị trí bắt đầu. –
Sau đó, bạn phải chạm vào nút phụ của bóng đổ của nút của bạn – rptwsthi