sách gpt4 ai đã đi

ios - 如何在 Spritekit 中创建一个 SKActions 数组

In lại 作者:行者123 更新时间:2023-11-29 12:26:30 hai mươi bốn 4
mua khóa gpt4 Nike

我正在尝试使用 objective-c 在 Spritekit 中创建一个 SKActions 数组,以便两个数组并行执行。 “旋转”不是一个适合我的数组,除非它引起了我怀疑是这里问题的问题。我对这段代码的期望是 actionMove 和旋转将并行运行,然后它继续移动到 actionMove1 和 actionMove2 并完成 runAction。我在下面显示的最后一行代码中收到以下错误(仅添加了所需的代码部分)。

“SKAction *__strong [3]”类型的集合元素不是 Objective-C 对象

SKAction * actionMove = [SKAction moveTo:CGPointMake(actualX2, actualY2) duration:actualDuration];
SKAction * actionMove1 = [SKAction moveTo:CGPointMake(actualX3, actualY3) duration:actualDuration];
SKAction * actionMove2 = [SKAction moveTo:CGPointMake(actualX4, actualY4) duration:actualDuration];
int rotate = arc4random() % 5;
SKAction * rotation = [SKAction rotateByAngle:M_PI/rotate duration:0.5];

SKAction * moveArray[] = {actionMove, actionMove1, actionMove2};

[game_piece1 runAction:[SKAction group:@[moveArray, rotation]]];

1 Câu trả lời

我相信您想要的是 group: 和 sequence: Action 的组合。组将一起运行,序列将等待上一个 Action 完成。

SKAction * actionMove = [SKAction moveTo:CGPointMake(actualX2, actualY2) duration:actualDuration];
SKAction * actionMove1 = [SKAction moveTo:CGPointMake(actualX3, actualY3) duration:actualDuration];
SKAction * actionMove2 = [SKAction moveTo:CGPointMake(actualX4, actualY4) duration:actualDuration];
int rotate = arc4random() % 5;
SKAction * rotation = [SKAction rotateByAngle:M_PI/rotate duration:0.5];

SKAction *firstStep = [SKAction group:@[actionMove, rotation]];
SKAction *sequence = [SKAction sequence:@[firstStep, actionMove1, actionMove2]];

[game_piece1 runAction:sequence];

您可能会发现此链接有帮助 Adding Actions to Nodes它在显示不同的组和序列方面做得很好。

希望这会给你想要的结果。

biên tập

如果您希望在按顺序运行移动 Action 的同时运行旋转,它看起来像这样。

SKAction * actionMove = [SKAction moveTo:CGPointMake(actualX2, actualY2) duration:actualDuration];
SKAction * actionMove1 = [SKAction moveTo:CGPointMake(actualX3, actualY3) duration:actualDuration];
SKAction * actionMove2 = [SKAction moveTo:CGPointMake(actualX4, actualY4) duration:actualDuration];
int rotate = arc4random() % 5;
SKAction * rotation = [SKAction rotateByAngle:M_PI/rotate duration:0.5];

SKAction *sequence = [SKAction sequence:@[actionMove, actionMove1, actionMove2]];
SKAction *group = [SKAction group:@[sequence, rotation]];

[game_piece1 runAction:group];

关于ios - 如何在 Spritekit 中创建一个 SKActions 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28955058/

hai mươi bốn 4 0
Bài viết được đề xuất: ios - GoodBarber.com - 他们使用哪个控件?
Bài viết được đề xuất: PHP - 转置数据
Bài viết được đề xuất: ios - 我如何在 ios 中使用 UIBezierPath 绘制直线
Bài viết được đề xuất: UITextView có hỗ trợ @ không có khoảng trống để đặt tên người dùng
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com