2011-01-22 21 views
1

私はこのようなObjective Cの関数toRadiansを使用してラジアンにダブルを変換しようとしています:iphoneのtoRadians toDegreesコンパイラの問題

double oldLat = toRadians(oldLocation.coordinate.latitude); 

をしかし、私は、コンパイラの警告とエラーまたはtoRadiansとtoDegrees

の暗黙的な宣言を得続けます

私は#import <math.h>をインクルードしましたが、それは何らかの理由で問題を解決しませんでした。

ご協力いただければ幸いです。

答えて

5

FoundationクラスにはtoRadiansはありません。程度(ラジアン - :あなたはちょうどあなたがM_PIを持っていますので、それ以外の場合は、あなたが

#include <math.h>

0

にありますのmath.h手動

degrees * M_PI/180.0

財団の輸入がこのコーディングをしてみてください、それを変換することができます)

location = [[CCDirector sharedDirector] convertToGL:location]; 

     // Determine offset of location to projectile 
     int offX = location.x - PROJECTILE_POSITION_X; 
     int offY = location.y - PROJECTILE_POSITION_Y; 

       int realX = winSize.width + (PROJECTILE_WIDTH/2); 
     float ratio = (float) offY/(float) offX; 
     int realY = (realX * ratio) + PROJECTILE_POSITION_Y; 

     int offRealX = realX - PROJECTILE_POSITION_X; 
     int offRealY = realY - PROJECTILE_POSITION_Y; 

     // Determine angle to face 
     float angleRadians = atanf((float)offRealY/(float)offRealX); 
     float angleDegrees = (__angleRadians__)/((__angleRadians__) * 57.29577951f);