GameMaker 日本語掲示板

プログラミング初心者なのですが下記のプログラムが上手く動いてくれません....

2 コメント
views
17 フォロー

command = 0;
turn = 0;

x=128;
y=608;

function set_position_based_on_command(){
if(command==0){
x = 128;
y = 608;
}else if(command==1){
x = 448;
    y = 608;
}else if(command==2){
x = 750;
y = 608;
}
}

if(turn==0){
if(keyboard_key_press(ord("z"))){
if(command > 0){
command -= 1;
}
else{
command = 2;
}
set_position_based_on_command();
}
if(keyboard_key_press(ord("x"))){
if(command < 2){
command += 1;
}
else{
command = 0;
}
set_position_based_on_command();
}
}

実行時エラーは起きないんですが、z,xをおしても座標が変わりません。改善点を教えてくださいm(__)M

xzy
作成: 2023/11/27 (月) 11:55:28
通報 ...
1

気づいた点はこれです。
使う関数をご確認ください。

keyboard_key_press(ord("z")) // これはキー入力シミュレートする関数
keyboard_key_press(ord("x")) // これはキー入力シミュレートする関数
↓
keyboard_check_pressed(ord("Z")) // これはキー入力を調べる関数(注意:大文字のZ)
keyboard_check_pressed(ord("X")) // これはキー入力を調べる関数(注意:大文字のX)


オブジェクトの
Createイベント

command = 0;
turn = 0;
x=128;
y=608;

function set_position_based_on_command() {
	if(command==0) {
		x = 128;
		y = 608;
	} else if(command==1) {
		x = 448;
		y = 608;
	} else if(command==2) {
		x = 750;
		y = 608;
	}
}

Stepイベント

if (turn==0) {
	if(keyboard_check_pressed(ord("Z"))) {
		if(command > 0) {
			command -= 1;
		} else {
			command = 2;
		}
		set_position_based_on_command();
	}

	if(keyboard_check_pressed(ord("X"))) {
		if(command < 2) {
			command += 1;
		} else {
			command = 0;
		}
		set_position_based_on_command();
	}
}
2

細かく教えて頂いてありがとうございます!!!!!!!動きました!!!