私は Cocos2d と Box2d の初心者で、いくつか質問があります。ゲームを開発中またはプレイしようとしているときに、ダイナミック ボディを境界 (iPhone のフレーム) にドラッグすると、何かが発生し、ダイナミック ボディの半分がフレームを超えてしまいます! 理由がわからないのですか?至急助けてください!
質問する
77 次
1 に答える
0
ccTouchesMoved関数に以下のコードを書き込んで解決しました。
CGSize s = [[CCDirector sharedDirector] winSize];
// Update if it is moved
CGPoint location = [tj.touch locationInView:tj.touch.view];
location = [[CCDirector sharedDirector] convertToGL:location];
int deger=50; // mydynamicbody width
float xcordinate=location.x;
float ycordinate=location.y;
if (xcordinate>(s.width-deger))
{
xcordinate=s.width-deger;
}
if (ycordinate>(s.height-deger))
{
ycordinate=s.height-deger;
}
if (xcordinate<deger)
{
xcordinate=deger;
}
if(ycordinate<deger)
{
ycordinate=deger;
}
// NSLog(@"cordinates %f , %f %g %g",xcordinate,ycordinate,s.width,s.height);
b2Vec2 worldLocation = b2Vec2(ptm(xcordinate),ptm(ycordinate) );
//b2Vec2 worldLocation = b2Vec2(200, 200);
tj.mouseJoint->SetTarget(worldLocation);
于 2012-10-12T20:39:11.480 に答える