抱歉,我在之前的回答中犯了一个错误。上面的代码应该是放在对象的 Step 事件中而不是 Create 事件中。在 Create 事件中,默认情况下对象的图像索引(image_index)尚未设置,因此会导致错误。
请将脚本放置在对象的 Step 事件中,并将其命名为 “P_Player_Idle1” 的精灵的名称和动画名称正确替换。以下是修正后的代码:
/// playIdleAnimation()
// 在对象的 Step 事件调用此函数
// 每隔3秒切换到动画 "P_Player_Idle2"
var animation_speed = 30; // 动画播放速度(每秒帧数)
var idle_duration = 3 * animation_speed; // 每个动画持续时间
if (animation_get_name(image_index) == "P_Player_Idle1") {
if (image_number >= sprite_get_number(sprite_index) - 1) {
image_index = 0;
}
if (alarm[0] <= 0) {
alarm[0] = idle_duration;
sprite_index = spr_P_Player_Idle2; // 切换到动画 "P_Player_Idle2"
}
} else {
if (image_number >= sprite_get_number(sprite_index) - 1) {
sprite_index = spr_P_Player_Idle1; // 切换回动画 "P_Player_Idle1"
}
}
确保你已经创建了适当的精灵和动画,并将它们分别命名为 “spr_P_Player_Idle1” 和 “spr_P_Player_Idle2”。将上述代码放在对象的 Step 事件中,应该能正常工作。抱歉给你带来了困扰。
内容由零声教学AI助手提供,问题来源于学员提问