
gamemakerã§ã®ããŒã°ã©ã€ã¯è£œäœæ¥èšâ ãïœç§»åïœ
ã¯ãããšããããã§åã
åã®èšäºã§ã話ããéãããŒã°ã©ã€ã¯ãå
ã«äœã£ãŠããæ¬äŒŒ3Dãã³ãžã§ã³RPGãäœã£ãŠãããããšæããŸãã
ãããªãããªã§ããããã¡ãããšãã第äžåãå§ããŸã(âããä»ãã)ã
ä»åã¯ç§»åãäœã£ãŠè¡ããããšæããŸãã
(ãŸãæ£çŽç§»åã¯èª¬æããªããŠãåãããšæããŸãããäžå¿GMLã¯ç¬ç¹ãªã®ã§èª¬æããŠãããŸãã)
ãããŸãã¯ã¢ã»ããã¬ã€ã€ãŒãã¿ã€ã«ã¬ã€ã€ãŒãªã©å¥œããªå Žæã«ã¿ã€ã«ã®èŠãç®ããããŠãããŸãã
(åçŽã«èŠãç®ã®é
ç®ãªã®ã§é£ã°ããŸã)
次ã«ããªããžã§ã¯ããé
眮ããŸãã
ãã¡ãããã¡ãã¯å£ã®ãªããžã§ã¯ããšãªããŸãããã¬ã€ã€ãŒãéãããã©ãããå€å®ããã®ã«éåžžã«åœ¹ç«ã¡ãŸãã
ããšã¯ãã¬ã€ã€ãŒã®ãªããžã§ã¯ããäœãã ãã§ãããããŸã§ã®è¡çšã§äžæãè¡ãã°ãã®ããã«ãªããšæããŸãã

ãã®ããã«ãªããŸããããæ¬¡ã¯ç§»åãªã®ã§ãããgamemakerã§ã¯ã°ãªããç§»åãé£ããããã®ã§è²ã
èšç®ããå¿
èŠããããŸãããã®ãããçŽæ¥å€æ°ãäœã£ãŠç¡çããã¶ã¡ããã§ãããŸãïŒ
äŸãã°1ã°ãªããã32ãã¯ã»ã«ã§ããå Žåã以äžã®ããã«ããŸãã
//ãã¬ã€ã€ãŒãªããžã§ã¯ãã®STEPã€ãã³ã
// â
ãããã远å ïŒãã¿ã€ããŒãåããŠããéã¯ãããŒå
¥åãå®å
šã«ç¡èŠããŠã¿ã€ããŒãæžããïŒ
if (move_timer > 0) {
move_timer -= 0.5;
io_clear(); // å
¥åããªã»ããããŠæŽèµ°ãæ¢ãã
exit; // ãã®ãã¬ãŒã ã®ç§»ååŠçã¯ããã§åŒ·å¶çµäºïŒ
}
// ãã¯ã»ã«åäœã§é²ãæ¹åãåæåïŒ
_dx = 0;
_dy = 0;
_cell_size=32;
// ç¢å°ããŒã§åãã
if (keyboard_check(vk_up)) {
_dy -= _cell_size; // äžã«é²ããªãyããã€ãã¹32ããã
global.dir=1;
}
if (keyboard_check(vk_down)) {
_dy += _cell_size; // äžã«é²ããªãyããã©ã¹32ããã
global.dir=0;
}
if (keyboard_check(vk_left)) {
ã_dx -= _cell_size; // å·Šã«é²ããªãxããã€ãã¹32ããã
global.dir=2;
}
if (keyboard_check(vk_right)) {
ã_dx += _cell_size; // å³ã«é²ããªãxããã©ã¹32ããã
global.dir=3;
}
if (_dx != 0 || _dy != 0) {
// 1ãã¹å
ã«ãã³ãã€ã³ãã§å£ãå€å®ïŒ
var _floor_inst = instance_position(x + _dx, y + _dy, Obj_wall);
// å®å
šã«1ãã¹é²ãïŒ
if (_floor_inst != noone) {
//äœãããªã
}else{
if (_dy < 0) global.player_y -= 1;
if (_dy > 0) global.player_y += 1;
if (_dx < 0) global.player_x -= 1;
if (_dx > 0) global.player_x += 1;
// â
ãããè¶³ãïŒãã°ãªãã座æšãã«ãŒã 座æšã«å€æã
x = global.player_x * _cell_size;
y = global.player_y * _cell_size;
// â
ãããã远å ïŒã1ãã¹åããããã¿ã€ããŒãã8ãã¬ãŒã ãã«èšå®ããŠãŠã§ã€ãããããïŒ
// ïŒâ»ãã®ã8ãã®æ°åãå°ãããããšé«éç§»åã倧ãããããšãã£ããæ©ãã«ãªããŸãïŒ
move_timer= 8;
}
}
io_clear();ãã®ãããªæãã§ããç§»åãšããŠã¯ããã§çµãããªã®ã§ããã
ãã¡ããæ¹ååãæ¿ããå¿
èŠã§ãããïŒ
ãšããããã§æç»ãããã«ãªããŸãã
//---æç»ã€ãã³ã-----
// å
šãŠã®æç»èšå®ããæšæºãã«ãªã»ããããä¿éºã ãïŒ
draw_set_alpha(1.0);
draw_set_color(c_white);
gpu_set_texfilter(false); // ããã§ããããã¯ãããªãããïŒ
draw_set_halign(fa_left); // æç»ãå§ãŸãåã«ãå·Šæããã匷å¶ïŒ
draw_set_valign(fa_top); // ãäžæããããªã»ããããŠãããšå®å¿ã ãã
draw_set_font(-1); // äžæŠãã©ã³ããæšæºã«ã]
// 2. å
±éã§äœ¿ã座æšãããã§èšç®ãã¡ãŸãïŒvar ãã€ããã«äœ¿ãåãã®ãã¢ãªã ããå®å
šã« var ã§ïŒïŒ
var _gui_w = display_get_gui_width();
var _gui_h = display_get_gui_height();
// 2. åºæºç¹ãããããç®åºïŒããã§ãåãæ®ããããããšã¯ãªãïŒ
var _mid_x = floor(_gui_w / 2);
var _mid_y = floor(_gui_h / 2);
//ç§»åã®æç»
// åŒæ°ã®ã-1ããå®å
šå»æ¢ããŠããªããžã§ã¯ããæã£ãŠããæ¬ç©ã® image_index ãæå®ããïŒ
if(global.dir==0){
draw_sprite(Sprite11,image_index,x,y);//äž
}else if(global.dir==1){
draw_sprite(Sprite13,image_index,x,y);//äž
}else if(global.dir==2){
draw_sprite(Sprite12,image_index,x,y);//å·Š
}else if(global.dir==3){
// â
ãä¿®æ£ã x ã®åŸãã«ã + _cell_size ãïŒãŸã㯠+ 32ïŒãæžãå ããã ãïŒ
// ããã§å·Šäžåç¹ã®åè»¢ä»æ§ãå®å
šã«èšç®ãå°œãããŠãæ¬æ¥ã®æ£ãããã¹ã®äžã«ãããçµµãåãŸããŸãã
draw_sprite_ext(Sprite12, -1, x + _cell_size, y, -1, 1, 0, c_white, 1);//å³
draw_set_halign(fa_center);
} âŠâŠã
ããã ãã§ãïŒð€£
æ¬åœã«ããã ããªã®ã§ãããå§ããåæã«ã¹ãã²ããã£ã¹ãã²ããã£èšã£ãŠããçç±ã¯ãŸãã«ããã§ãã
âŠããŠãæè¿ããªããã£ã©å€ããŠããããã«èŠããŸããããã¯å¥ãªçç±ãâŠ
ã£ãŠïŒWikipediaã®ããŠã³ãåæŠã£ãŠèšãããšãããã©ä»ãããïŒwwwð€£
ã§ã¯ããŸã次åã®èšäºã§ãäŒãããŸãããã
ããã§ã¯ã