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
^^ ứ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... ^^
[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 ?
//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;
};
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.
@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 ^^
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
Comments
http://gmc.yoyogames.com/index.php?showtopic=610206
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
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
@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 ...
Tàm tạm như thế này đã.
https://app.box.com/s/vrheuiztrszbx4648sn4
Xem có đúng ý ko.
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 ?
//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
Mà đoạn trên giải thích hộ :
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.
@meodenluoi : hình như là GM Studio thì phải hay GM8.1 ... maybe ^^
//
trên kia là GMS chắc rồi :v
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
+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
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 ^^