Khi nãy mình nói rồi "tâm ở đâu ko quan trọng vì đầy là function place_free check collision với obj solid."
function check instance tại điểm đó thì có va chạm ko, nhớ là instance nhé ko phải point.
Không ! Hiểu nhầm rồi á ! ^^
Của @Vistrifa thì là ko cho tới nếu check thấy phía ngang có vật cản.
Nhưng ý của mình là vẫn cho qua. Nhưng nếu chưa nhảy hẳn nên thì sẽ bị rơi xuống.
Với cách làm switch solid thì mình có thể làm đc như thế ^^
Và như thế giống với các game platform pro hiện nay ^^
Nếu nhảy từ dưới lên thì đúng là ko nhảy hẳn lên thì rơi xuống
Nhưng nếu đang trên không mà di chuyển ngang qua, cắm luôn vào wall thì lại bị rắt, kẹt trong tình trạng là chưa nhảy hẳn lên ^^
mình muốn nó rơi xuống trong trường hợp này. Mà cách làm cũ của mình lại làm ok
if (keyboard_check(vk_left)) {x -= 4}
else
if (keyboard_check(vk_right)) {x += 4}
=
if (keyboard_check(vk_left)) {
if !(instance_place(x-4,y,ob_wall)) {
x -= 4;
};
} else
if (keyboard_check(vk_right)) {
if !(instance_place(x+4,y,ob_wall)) {
x += 4;
};
};
Hiểu mà ^^ . Nhưng như @Vistrifa thì ko cho player tới từ phía ngang, như vầy thì sẽ ko có chuyện kẹt xảy ra.
Nhưng các game như MapleStory vẫn cho phép như vầy mà.
Cơ bản thì như hình này nè :
@bate7a1 , Đúng như @netro nói bạn ạ ^^ , nếu bạn vẽ được sprite "xoay vòng vòng" thì là ổn nhất.
Nhưng ngoài ra, theo mình, thì còn một cách đơn giản hơn (chắc hẳn là hiệu quả sẽ ko bằng) , đó là việc flip đi flip lại cái sprite này ^^.
bạn làm như sau :
Event Create :
[php]alarm[10]=6 // có thể lấy alarm khác vẫn ok ^^[/php]
Event Alarm 10 :
[php]image_xscale *= -1 // Flip sprite theo chiều ngang
alarm[10]=6 // lặp lại alarm này sau mỗi 6 fr[/php]
Hết ! ^^
Bạn có thể thay đổi 6 frames bằng một thời gian nào đó phù hợp hơn.
Chúc bạn thành công
Comments
function check instance tại điểm đó thì có va chạm ko, nhớ là instance nhé ko phải point.
Một điều ngộ nhận bấy lâu ^^
Cảm ơn @Vistrifa nhiều ^^ !
__________
Ôi ! Lại phát sinh lỗi mà ko sao đc : (vẫn như cái gmk mình up ở trên)
Nhảy lên ngang với wall và rẽ ngang qua thì player bị kẹt lại.
Mình muốn nó rớt xuống.
Mà thực ra là check ở vị trí y+1 thì mới cho vspeed=0 cơ mà ?
Đây rõ ràng là va chạm ở giữa mà ?
còn kia thì check như thế này
Của @Vistrifa thì là ko cho tới nếu check thấy phía ngang có vật cản.
Nhưng ý của mình là vẫn cho qua. Nhưng nếu chưa nhảy hẳn nên thì sẽ bị rơi xuống.
Với cách làm switch solid thì mình có thể làm đc như thế ^^
Và như thế giống với các game platform pro hiện nay ^^
Nhưng nếu đang trên không mà di chuyển ngang qua, cắm luôn vào wall thì lại bị rắt, kẹt trong tình trạng là chưa nhảy hẳn lên ^^
mình muốn nó rơi xuống trong trường hợp này. Mà cách làm cũ của mình lại làm ok
Mong @Vistrifa giúp cho chót ^^ !
Nhưng các game như MapleStory vẫn cho phép như vầy mà.
Cơ bản thì như hình này nè :
Còn vụ check để ko cho tới thì mình hiểu rồi. ^^
THAM GIA GROUP CỦA TTC TRÊN FACEBOOK
Đang onl = dt, cái router mới bị hỏng để chừng nào sửa dc mình thử xem.
https://app.box.com/s/ozh0nasjff5wu94oommv
Nhưng mà lại setup kiểu khác à ? Để mình đọc hiểu văn bản đã ^^
Có 1 cái hình làm sao làm được. Ít nhất 2 cái. Càng nhiều càng tốt
Hoặc vẽ ra. Mệt
Nhưng ngoài ra, theo mình, thì còn một cách đơn giản hơn (chắc hẳn là hiệu quả sẽ ko bằng) , đó là việc flip đi flip lại cái sprite này ^^.
bạn làm như sau :
Event Create :
[php]alarm[10]=6 // có thể lấy alarm khác vẫn ok ^^[/php]
Event Alarm 10 :
[php]image_xscale *= -1 // Flip sprite theo chiều ngang
alarm[10]=6 // lặp lại alarm này sau mỗi 6 fr[/php]
Hết ! ^^
Bạn có thể thay đổi 6 frames bằng một thời gian nào đó phù hợp hơn.
Chúc bạn thành công