我正在尝试按照教程创建一个2D游戏。使用提供的图像创建了一个栅格集,并且没有修改任何设置,只是添加了移动功能。玩家角色在其它层的左或右方向撞击地图块后会卡住,而不是上或下方向的撞击。是什么原因造成的呢?
我的代码:
创建
layer = layer_get_id("Tiles_Borders");
tilemap = layer_tilemap_get_id("Tiles_Borders");
步骤
var right = keyboard_check((ord("D"))) 或 keyboard_check(vk_right);
var left = keyboard_check((ord("A"))) 或 keyboard_check(vk_left);
var up = keyboard_check((ord("W"))) 或 keyboard_check(vk_up);
var down = keyboard_check((ord("S"))) 或 keyboard_check(vk_down);
var horizontal = right - left; // 类似于C的转换
var vertical = down - up;
if(right){
sprite_index = spr_player_walk_right;
}
if(left){
sprite_index = spr_player_walk_left;
}
if(down){
sprite_index = spr_player_walk_down;
}
if(up){
sprite_index = spr_player_walk_up;
}
if(horizontal == 0 && vertical == 0){
开关 (sprite_index) {
案例 spr_player_walk_left:
sprite_index = spr_player_idle_left;
break;
案例 spr_player_walk_right:
sprite_index = spr_player_idle_right;
break;
案例 spr_player_walk_up:
sprite_index = spr_player_idle_up;
break;
案例 spr_player_walk_down:
sprite_index = spr_player_idle_down;
break;
default:
break;
}
}
move_and_collide(horizontal * movement_speed, vertical * movement_speed, tilemap, undefined, undefined, undefined, movement_speed, movement_speed);
评论 (0)