2009-07-16 237 views
1

我試圖在遊戲幾何大戰中像屏幕一樣移動物體。我可以旋轉對象,但我似乎無法讓它根據它所面對的方向移動。我這裏有這個代碼,我認爲是正確的這樣做,但我不斷收到語法錯誤:「請求成員的結構或聯合X不是」cocos2d移動物體

spriteObject.x = spriteObject.x + speed*cos(Angle) 
spriteObject.y = spriteObject.y + speed*sin(Angle) 

的錯誤你如何在Objective-c/cocos2d語法中做到這一點?

回答

1

望着documentationsprite class,你需要做到以下幾點:

float angle = spriteObject.rotation 
spriteObject.position.x = spriteObject.position.x + speed*cos(angle) 
spriteObject.position.y = spriteObject.position.y + speed*sin(angle) 

編輯(在響應評論):

我看你是編程爲iPhone ,這意味着您需要使用cocos2d庫和而不是我之前鏈接到的那個

由於iPhone版本使用Objective-C語言,而原始的cocos2d使用Python,所以語法將與示例代碼不同。

谷歌代碼在iPhone版的cocos2d上有很好的文檔,包括sample code

基於此示例代碼,您必須做到以下幾點:使用給了我同樣的錯誤...... spriteObject.position.x = spriteObject.x +速度* COS

float newX = spriteObject.position.x + speed * cos(angle); 
float newY = spriteObject.position.y + speed * sin(angle); 
spriteObject.position = ccp(newX, newY); 
+0

(角) spriteObject.position.y = spriteObject.y + speed * sin(Angle) – 2009-07-16 18:40:38