[Thảo Luận] Về duy chuyển và ảnh động.

LuciferLucifer Posts: 184Registered
edited July 2019 in Game Maker: Studio
em đang học làm bằng Game Marker
2D như maplestory và em làm duy chuyển sang trái và phải.
em bị kẹt ntn.
Em đi qua trái rồi lúc dừng lại thì ảnh của nhân vật nhìn qua trái [cái này oke]
em đi qua phải rồi lúc dừng lại thì ảnh của nhân vật nhìn qua trái [error]
/// Duy Chuyen
var phim_trai = keyboard_check(vk_right);
var phim_phai = keyboard_check(vk_left);
//Sang Trai
if (phim_trai)  {
   phy_position_x += spd;
   sprite_index = Player_MS_Move_R;
   image_speed = .2;
}   

//Sang Phai
if  (phim_phai)  {
   phy_position_x -= spd;
   sprite_index = Player_MS_Move_L;
   image_speed = .2;
}   
//Stop Hanh Dong
if (!phim_trai and !phim_phai)  {
   sprite_index = Player_MS_StopMove_R = keyboard_check(!phim_trai);
   sprite_index = Player_MS_StopMove_L = keyboard_check(!phim_phai);
}
«1

Comments

  • LuciferLucifer Posts: 184Registered
    có thể chỉ em làm s cho có nút Nhảy lên và rơi lại xuốn mặt đất.
  • Quang TrầnQuang Trần Posts: 258Registered
    Trước đây mình đã từng làm một Example kiểu này. Cho bạn tham khảo nà : Download :D

    Vì là Example này làm lâu rồi ( từ hồi mình còn là newbie ) nên code rất chi là vụng :rolleyes:
    bạn đọc không hiểu chỗ nào cứ hỏi nhé :3

    P/s : Không cần cảm ơn, nhấn nút Thanks hộ mình là được rồi hihi
  • LuciferLucifer Posts: 184Registered
    oke để test :3
    --
    cảm ơn bác em sẽ dùng demo của bác để học
  • LuciferLucifer Posts: 184Registered
    Vừa Edit lại và oke

       if (trai) {image_xscale = 1}
       if (phai) {image_xscale = -1}

    tự suy nghĩ và làm ::v vậy mà dc ::v vi diệu   
    //Key Board And Move
    var trai = keyboard_check(vk_right);
    var phai = keyboard_check(vk_left);
    var nhay = keyboard_check_pressed(vk_space);
    //Move
    if (place_meeting(x, y+1, obj_block))  {
       vspd = 0;
       
       //Nhay
       if (nhay) {
           vspd = -jspd;
       }
    } else {
       //Toc Do
       if (vspd < 10) {
           vspd += grav;
       }
    }
    //Sang Trai
    if (trai) {
       hspd = spd;
       sprite_index = spr_walk1 ; image_speed = 0.10 ; image_xscale = -1 ;
       image_speed = .2;
    }
    
    //Sang Phai
    if (phai) {
       hspd = -spd;
       sprite_index = spr_walk1 ; image_speed = 0.10 ; image_xscale = 1 ;
       image_speed = .2;
    }
    
    //Stop Move Trai
    if ((!trai && !phai)  ||  (trai && phai)) {
       hspd = 0;
    sprite_index = spr_stand1 ; image_speed = 0.10 ;
       if (trai) {image_xscale = 1}
       if (phai) {image_xscale = -1}
    }
    
    
    //Deu hieu
    if (place_meeting(x+hspd, y, obj_block)) {
       while (!place_meeting(x+sign(hspd), y, obj_block)) {
           x += sign(vspd);
       }
       hspd = 0;
    }
    
    //Deu Biet
    x += hspd;
    
    //Deu hieu
    if (place_meeting(x, y+vspd, obj_block)) {
       while (!place_meeting(x, y+sign(vspd), obj_block)) {
           y += sign(vspd);
       }
       vspd = 0;
    }
    
    //Deu Biet
    y += vspd;
    
  • dsiver144dsiver144 Posts: 1,064Registered
    Mấy thứ bác đề "Deu hieu" ở trên dùng để check vị trí của nhân vật để tránh trường hợp nhân vật bị "dính" vào walls or etc... Lúc trước có vọc vạch Game Maker và có xem bài tut hướng dẫn làm cái này ở trên Youtube.
  • Mọi người ey ! Sao 2 câu cuối 1 biến lại đặt đè giá trị vầy !
    sprite_index = Player_MS_StopMove_R = keyboard_check(!phim_trai);
    sprite_index = Player_MS_StopMove_L = keyboard_check(!phim_phai);
    Đó !
    Biến sprite_index bị đặt đè giá trị đó
  • Quang TrầnQuang Trần Posts: 258Registered
    Mọi người ey ! Sao 2 câu cuối 1 biến lại đặt đè giá trị vầy !
    sprite_index = Player_MS_StopMove_R = keyboard_check(!phim_trai);
    sprite_index = Player_MS_StopMove_L = keyboard_check(!phim_phai);
    Đó !
    Biến sprite_index bị đặt đè giá trị đó

    Kiểu như khi thả phím trái thì ảnh dừng lại sẽ là ảnh quay phải và ngược lại ấy anh :D
  • Haizz ! Nói chung đau đầu quá nên nghỉ ! :3 Khác code nên chưa hiểu kí hiệu ! là gì ! :#
  • Quang TrầnQuang Trần Posts: 258Registered
    Haizz ! Nói chung đau đầu quá nên nghỉ ! :3 Khác code nên chưa hiểu kí hiệu ! là gì ! :#

    Dấu " ! " là phủ định của lệnh đằng sau nó ấy mà :3
  • Chắc ít dùng nên ko biết ! :3
  • Oh ! Nếu khác thì trong ruby là so sánh "!="
  • bate7a1bate7a1 Posts: 317Registered
    dấu ! nằm trong phần cơ bản lập trình ak ba
  • Focker_cFocker_c Posts: 1,577Registered
    Sao mình là mod mà ko biết có topic này tồn tại nhỉ :v :v :v
  • bate7a1 wrote:
    dấu ! nằm trong phần cơ bản lập trình ak ba

    Giờ quay lại với mỗi Ruby để hoàn thành nốt cái project thôi !  :P
  • Focker_c wrote:
    Sao mình là mod mà ko biết có topic này tồn tại nhỉ :v :v :v

    Đề nghị thánh đo kính ngay và luôn  :cool:
Sign In or Register to comment.