cuốn sách gpt4 ai đã làm

ios - Sprite Kit Mobile Sprite

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 21:23:19 31 4
mua khóa gpt4 Nike

Tôi đã tạo ra Sprite này để tôi có thể cầm và di chuyển xung quanh. Vấn đề của tôi là tôi muốn có thể "ném" Sprite. Có nghĩa là khi tôi thả sprite ra, tôi muốn nó tiếp tục di chuyển theo hướng tôi đã di chuyển. Cũng giống như việc ném một quả bóng.

tôi phải làm gì?

@implementation NPMyScene
{
SKSpriteNode *sprite;
}

-(id)initWithSize:(CGSize)size
{
if (self = [super initWithSize:size])
{
self.backgroundColor = [SKColor colorWithRed:0,15 xanh lục:0,15 xanh lam:0,3 alpha:1,0];
sprite.physcsBody = [SKPhysicsBody bodyWithCircleOfRadius:sprite.size.width/2];

sprite.physicalBody.dynamic = CÓ;
self.scaleMode = SKSceneScaleModeAspectFit;

sprite = [SKSpriteNode spriteNodeWithImageNamed:@"GreenBall"];
sprite.position = CGPointMake(CGRectGetMidX(self.frame),
CGRectGetMidY(self.frame));

sprite.physicalBody.velocity = self.physicalBody.velocity;
sprite.physicalBody.affectedByGravity = false;
sprite.physicalBody.dynamic = true;
sprite.physicalBody.friction = 0;
[sprite.physicalBody isDynamic];

[sprite.physicalBody allowRotation];

[tự addChild:sprite];
}
return self;
}



-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[tự chạmMoved:chạm vớiEvent:event];
}



-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[sprite runAction:[SKAction moveTo:[[chạm vào bất kỳObject] locationInNode:self]duration:0.21]];
}

câu trả lời hay nhất

Nếu bạn đang nói về việc áp dụng vật lý vào một quả bóng thì bạn cần suy nghĩ sâu hơn về cách Sprite Kit xử lý vật lý.

Khi bạn chỉ định Hành động "moveTo", thực tế là bạn hoàn toàn không sử dụng công cụ vật lý của Sprite Suite. Bạn chỉ cần xác định một điểm để tạo hiệu ứng cho Sprite.

Để đạt được hiệu ứng mong muốn, điều bạn nên làm là gắn vị trí của sprite vào ngón tay khi nó di chuyển quanh màn hình, như sau:

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
sprite.position = [[chạm vào bất kỳObject] locationInNode:self];
}

Sau đó khi nhấc ngón tay lên bạn cần tính hướng và tốc độ ngón tay vừa di chuyển và sử dụng applyForce< áp dụng lực thích hợp lên cơ thể vật lý của Sprite lực lượng/ 方法:

[sprite.physicalBody applyForce: CalculatedForce];

Bạn sẽ cần tìm ra cách tính lực để tác dụng, nhưng hãy thử sử dụng phương thức applyForce và xem bạn có thể trả về thông tin nào từ sự kiện touchMoved: để giúp bạn tác dụng lực. Hy vọng điều này sẽ giúp.

Về việc di chuyển Sprite bằng ios - Sprite Kit, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/23628155/

31 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress