[Thảo Luận] Topic thảo luận GameMaker Engine

13468914

Comments

  • MeoDenLuoiMeoDenLuoi Posts: 1,425Registered
    Topic này đúng hem :P Vì cái tên ông k đụng hàng nên google search phát ra cmnl mới kinh ==
    http://gmc.yoyogames.com/index.php?showtopic=610206
  • fight manfight man Posts: 73Registered
    mình nhớ trong tut của GM file treasure nó cũng có hướng dẫn mà
  • VistrifaVistrifa Posts: 87Registered
    Nếu làm online thì ko cần phải lo player - client, monster - server còn
    Nếu làm off thì cần gì change solid true/false nhỉ, cứ việc dùng vspeed mà bay lên hạ xuống thôi.
    Không được nữa thì đưa gmk của bạn mình sửa thử xem cũng chưa làm dạng này bao giờ. XD
  • Focker_cFocker_c Posts: 1,577Registered
    Topic này đúng hem Vì cái tên ông k đụng hàng nên google search phát ra cmnl mới kinh ==
    http://gmc.yoyogames.com/index.php?showtopic=610206
    ^^ ức chế lắm mèo ạ ( @meodenluoi )
    Toàn thánh phán xuất hiện khăng khăng là vấn đề này đã có.
    Nhưng thực ra vấn đề khác :D
    Nếu làm online thì ko cần phải lo player - client, monster - server còn
    Nếu làm off thì cần gì change solid true/false nhỉ, cứ việc dùng vspeed mà bay lên hạ xuống thôi.
    Không được nữa thì đưa gmk của bạn mình sửa thử xem cũng chưa làm dạng này bao giờ. XD

    @Vistrifa , Hiểu ý rồi ^^ , lý do là online thì thằng player còn lại chỉ là nhìn thấy thôi chứ thực ra nó vẫn hoạt động độc lập. Nhưng mình làm 2 players , tức là có 2 ob_player, cho nên theo cách của mình thì ko check vị trí của wall so với player để switch solid được, vì có 2 player lận ^^

    Còn ko xài solid thì mấy event dị lắm. Nó cứ bị chìm dần vào wall, trượt cái phụt trên wall, v.v... ^^

    File gmk của mình đây (làm theo cách switch solid):
    http://www.mediafire.com/download/rb3sck1o9p32cox/Platform+Base.gmk

    P/s : Khổ thân, giờ phần base game còn hì vãi cả hục ra ... >_<
  • VistrifaVistrifa Posts: 87Registered
    @Focker_C
    Tàm tạm như thế này đã.
    https://app.box.com/s/vrheuiztrszbx4648sn4
    Xem có đúng ý ko.
  • Focker_cFocker_c Posts: 1,577Registered
    [php]while (!place_free(x,y)) {
    y -= 1}[/php]
    Ồ ! Thì ra code này giúp tránh 2 obj nún vào nhau ^^
    It helps a lot ! Thanks ^^

    Example rất hay. ^^
    Bạn tăng dần vspeed nếu nó âm thay vì dùng gravity . Cool :D

    À ! Mà đoạn này tức là sao, @Vistrifa ?
    [php]if (place_free(x,y+vspeed+1)) {
    vspeed += 1;
    } else {
    vspeed = 0;
    };[/php]
    Tại sao lại check y+vspeed+1 để tăng tốc đi xuống ?
  • VistrifaVistrifa Posts: 87Registered
    Chỗ đó mình rút gọn 1 tý rồi tải lại xem

    //Cái này là nếu player nhảy lên max rồi mà trúng phải objWall thì làm thế nào ấy mà. y-=1 thì lên y+=1 thì xuống.
    while (!place_free(x,y)) {
    y -= 1;
    };if (place_free(x,y+vspeed+1)) {
    vspeed += 1;
    } else {
    vspeed = 0;
    };

    Kiểm tra vspeed+1 có trống ko
  • Focker_cFocker_c Posts: 1,577Registered
    Ủa ? Wall chỉ cần 1 dòng kẻ như vầy thôi à ? ^^ Hay thật
    Mà đoạn trên giải thích hộ :
    À ! Mà đoạn này tức là sao, @Vistrifa ?

    [php]if (place_free(x,y+vspeed+1)) {
    vspeed += 1;
    } else {
    vspeed = 0;
    }[/php]
    Tại sao lại check y+vspeed+1 để tăng tốc đi xuống ?
  • VistrifaVistrifa Posts: 87Registered
    Wall thì như thế nào chả được ;D
    Có phải càng rơi xuống càng nhanh?
    (place_free(x,y+vspeed+1)) kiểm tra xem cái điểm (vspeed += 1) có trống ko mà đi đến đó else = 0.
  • MeoDenLuoiMeoDenLuoi Posts: 1,425Registered
    Cho mèo hỏi cái là đây là game maker engine ver nào vậy?
    yPt9zaO.jpg
  • Focker_cFocker_c Posts: 1,577Registered
    @Vistrifa , cảm ơn nhiều ^^ , nhưng còn 1 điều ko giải thích đc : tại sao lại check y+1 vì thực ra cái tâm sprite thì Vistrifa đã lấy check xuống dưới 1 pixel rồi mà ?

    @meodenluoi : hình như là GM Studio thì phải hay GM8.1 ... maybe ^^
  • VistrifaVistrifa Posts: 87Registered
    tâm ở đâu ko quan trọng vì đầy là function place_free check collision với obj solid.
    //
    trên kia là GMS chắc rồi :v
  • Focker_cFocker_c Posts: 1,577Registered
    @Vistrifa ,
    Lam` tương tự như tại sao lại lỗi nè :
    http://www.mediafire.com/download/mm89vlftq1fa7o7/Platform_Base_new.gmk
    Hay tại vì dùng "instance_place" thay cho "!place_free" ko đc ?

    Từ đây lại nảy ra một điều ngộ nhận bấy lâu : place_free tại sao chỉ check wall thôi ?
    Ví dụ như trong example của Vistrifa, tại sao nó chỉ check wall thôi, thử di chuyển tới player còn lại, tại sao nó lại ko check ?
    Mình ko muốn dùng place_free bởi vì sẽ có các object khác ko liên quan cũng sẽ bị check
  • VistrifaVistrifa Posts: 87Registered
    @Focker_c
    {if keyboard_check(vk_up) and instance_place(x,y+18,ob_wall) // nhay
            {in_air=true;
             vspeed = -12
             }
         else
            if !instance_place(x,y+vspeed+18,ob_wall)
                {vspeed += 1}
            else
                {vspeed = 0}
         }
    

    +1 thôi nhé đừng +18@Focker_c
    {while instance_place(x,y+17,ob_wall)
    chỗ này để x,y thôi khỏi +17
  • Focker_cFocker_c Posts: 1,577Registered
    Vistrifa để tâm là 16,32 thì là y+1
    Mình để tâm là 16,16 thì ko phải là y+17 sao ? ^^
    Mình hiểu nhầm gì à ? ^^

    17 ko phải 18 ^^
Sign In or Register to comment.