我正在通過使用cocos2d的iOS遊戲。在我的場景中, 雲以不同的速度向右移動。 1)我只想當用戶點擊一個雲時,它從左到右移動得更快。 2)當雲彩會出現在視圖之外時,它會再次從左邊出現並以正常速度向左移動。如何改變cocos2d移動box2d對象的速度後觸摸ccsprite
0
A
回答
0
1.)檢測用戶觸摸的雲,增加身體的速度。要立即提高速度,請設置與雲有關的b2body的線速度。要逐漸提高速度,應用一種力量/衝動。例如:
在ccTouchesBegan
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:[touch view]];
location = [[CCDirector sharedDirector] convertToGL:location];
for(Cloud *cloud in clouds) {
if (CGRectContainsPoint(cloud.boudingBox, location)) {
b2Body *b = cloud.b2Body;
b2Vec2 *currentVelocity = b->GetLinearVelocity();
b2Vec2 *newVelocity = b2Vec2(currentVelocity.x + addToSpeed, currentVelocity.y);
b->SetLinearVelocity(newVelocity);
}
}
2.)當雲b2body位置已經移動的更新方法的視圖外檢測。然後,你可以破壞雲體與子畫面,並創建在期望的位置一個新的,或者使用b2Body->的setTransform()到主體移動到新的位置與SetLinearVelocity(startingSpeed)
0
如何將雲從左向右移動?使用CCMoveTo或ApplyLinearVelocity?
如果是與CCMoveTo然後停止操作時用戶點擊,並再次用不同的速度運行CCMoveTo。
相關問題
- 1. cocos2d觸摸移動速度
- 2. Cocos2D - 觸摸CCSprite後彈出
- 3. Cocos2d:根據觸摸移動CCsprite
- 4. 獲得觸摸速度/速度,並在此觸摸位置移動box2d身體
- 5. 的Cocos2D CCSprite對象移動太多
- 6. 如何使用CCTouchMoved在Cocos2d中以速度/速度拖動CCSprite?
- 7. Box2D對象速度
- 8. 觸摸在Cocos2d中移動
- 9. 如何移動box2d對象?
- 10. 旋轉CCSprite以在Cocos2D中觸摸
- 11. 移動觸摸對象
- 12. Android移動對象觸摸
- 13. 嘗試檢測觸摸結束,觸摸移動的CCSprite
- 14. 只需觸摸按鈕,移動Box2d對象?
- 15. 觸摸Cocos2d + Box2d - Iphone遊戲開發
- 16. LibGDX - Box2D:使用MouseJoint移動沒有速度限制的對象
- 17. 使用UIAccelerometer移動CCSprite - cocos2D
- 18. 像CCSprite對象一樣移動Box2d實體
- 19. Cocos2d雪碧移動速度
- 20. 如何通過在iOS中觸摸對象來移動對象
- 21. cocos2D和Box2D:如何獲得精確觸摸的精靈?
- 22. Cocos2D觸摸移動到目標控件?
- 23. Cocos2d動畫CCSprite的寬度/高度
- 24. 在iPad上觸摸cocos2D和(?)Box2d的車輪動畫?
- 25. 如何讓對象對Cocos2D中的觸摸做出反應?
- 26. cocos2D-Box2D,CCSprite不顯示在屏幕上
- 27. Box2D - b2Fixture觸摸
- 28. cocos2d以恆定速度沿着路徑移動對象
- 29. 通過觸摸來回移動對象
- 30. 將對象移動到觸摸 - iPhone