Ich kann nicht meinen Code zu arbeiten, Ich folgte ein Tutorial genau dann Beweis meine Arbeit zu lesen. es funktionierte für den Lehrer, aber als ich es versuchte, war mein Spieler fest, es animierte nicht oder bewegte sich. Ich teile den Code in verschiedene Teile auf, so wie es im Tutorial war.Spiel Maker Studio: Ich brach die Steuerung meines Players
hier ist das wichtigste Bit:
///script_get_input
right_key = keyboard_check(vk_right);
up_key = keyboard_check(vk_up);
left_key = keyboard_check(vk_left)
down_key = keyboard_check(vk_down)
dash_key = keyboard_check_pressed(ord('C'));
attack_key = keyboard_check(ord('X'));
///check for gamepad input
if (gamepad_is_connected(0)) {
right_key = (gamepad_axis_value(0, gp_axislh)>= .5);
left_key = (gamepad_axis_value(0, gp_axislh)>= -.5);
up_key = (gamepad_axis_value(0, gp_axislv)>= -.5);
down_key = (gamepad_axis_value(0, gp_axislv)>= .5)
}
und setzt die Kontrollen während dies setzt, was sie tun:
///scr_move_state
scr_get_input();
///get the axis
var xaxis = (right_key - left_key);
var yaxis = (down_key - up_key);
///get direction
dir = point_direction(0, 0, xaxis, yaxis);
///get length
if (xaxis == 0 and yaxis = 0) {
len = 0;
} else {
len = spd;
}
///get the hspd and vspd
hspd = lengthdir_x(len, dir);
vspd = lengthdir_y(len, dir);
///move
phy_position_x += hspd;
phy_position_y += vspd;
///control the sprite
image_speed = sign(len)*.2;
if (len == 0) image_index = 0;
///vertical sprites
if (vspd > 0) {
sprite_index = spr_player_down;
} else if (vspd < 0) {
sprite_index = spr_player_up;
}
///horizontal sprites
if (hspd > 0) {
spr_index = spr_player_right;
} else if (hspd < 0) {
sprite_index = spr_player_left;
}
ach ja, und auch, wie der Spieler interagiert mit dem Code
///moves the player in the step event
scr_get_input();
script_execute(state);
sieht es wirklich komplex aus und ich bin nur ein Anfänger zum Codieren von Sprachen. Auch ich habe gehört, dass der Spielehersteller eine einzigartige Sprache hat, die es schwieriger macht. jede Rückmeldung ist willkommen!