Tạo Trò Chơi - Về hướng di chuyển!

Tạo Trò Chơi

Phiên bản đầy đủ: Về hướng di chuyển!
Bạn đang xem phiên bản rút gọn. Xem phiên bản đầy đủ với định dạng thích hợp.
Mình có làm thử một game Platfform căn bản, set phím qua lại bằng left +right ,
Bây giờ mình muốn lấy giá trị hướng nhìn của nhân vật ( để sử dụng cho obj_ đạn) ( trên mạng chỉ hướng dẫn lấy hướng theo vị trí con trỏ chuột, còn mình k sử dụng con trỏ chuột mà chỉ dùng phím thôi)
Hiện giờ vấn đề của mình là :
Khi player tạo ra obj_dan thì obj_dan bay theo hướng nhìn của nhân vật, nhưng trong lúc nó đang bay mà mình quay đầu nhân vật sang hướng ngược lại thì viên đạn đang bay cũng quay đầu bạy theo hướng ngược lại -_- oh my chúa ( có lẽ vì hướng của player đổi nên hướng viên đạn đổi theo)
Các pro có thể giúp mình set hướng bay của viên đạn khi nó sinh ra, và sau đó thì cố định hướng bay không, mình không thể cố định hướng bay của nó được 
cảm ơn, chào thân ái và quyết thắng  Smile
(22-12-2016, 12:29 PM)cluvc Đã viết: [ -> ]Mình có làm thử một game Platfform căn bản, set phím qua lại bằng left +right ,
Bây giờ mình muốn lấy giá trị hướng nhìn của nhân vật ( để sử dụng cho obj_ đạn) ( trên mạng chỉ hướng dẫn lấy hướng theo vị trí con trỏ chuột, còn mình k sử dụng con trỏ chuột mà chỉ dùng phím thôi)
Hiện giờ vấn đề của mình là :
Khi player tạo ra obj_dan thì obj_dan bay theo hướng nhìn của nhân vật, nhưng trong lúc nó đang bay mà mình quay đầu nhân vật sang hướng ngược lại thì viên đạn đang bay cũng quay đầu bạy theo hướng ngược lại -_- oh my chúa ( có lẽ vì hướng của player đổi nên hướng viên đạn đổi theo)
Các pro có thể giúp mình set hướng bay của viên đạn khi nó sinh ra, và sau đó thì cố định hướng bay không, mình không thể cố định hướng bay của nó được 
cảm ơn, chào thân ái và quyết thắng  Smile

Khi vừa được bắn ra thì bạn cho viên đạn lưu lại hướng, rồi cứ cho nó bay theo hướng đó là được, hoặc dùng Unity thì bạn không cần phải lưu hướng nữa
Tongue Tongue Tongue
(22-12-2016, 12:29 PM)cluvc Đã viết: [ -> ]Mình có làm thử một game Platfform căn bản, set phím qua lại bằng left +right ,
Bây giờ mình muốn lấy giá trị hướng nhìn của nhân vật ( để sử dụng cho obj_ đạn) ( trên mạng chỉ hướng dẫn lấy hướng theo vị trí con trỏ chuột, còn mình k sử dụng con trỏ chuột mà chỉ dùng phím thôi)
Hiện giờ vấn đề của mình là :
Khi player tạo ra obj_dan thì obj_dan bay theo hướng nhìn của nhân vật, nhưng trong lúc nó đang bay mà mình quay đầu nhân vật sang hướng ngược lại thì viên đạn đang bay cũng quay đầu bạy theo hướng ngược lại -_- oh my chúa ( có lẽ vì hướng của player đổi nên hướng viên đạn đổi theo)
Các pro có thể giúp mình set hướng bay của viên đạn khi nó sinh ra, và sau đó thì cố định hướng bay không, mình không thể cố định hướng bay của nó được 
cảm ơn, chào thân ái và quyết thắng  Smile

Trong Event Create tạo biến huong = 0; khi nhấn phím trái thì set nó = 0, phải thì set = 180.

if (check_key) { 
   dan = instance_create(x,y,obj_dan);
   dan.direction = huong;
   dan.speed = 12; 
}
(22-12-2016, 01:31 PM)Quang Trần Đã viết: [ -> ]Trong Event Create tạo biến huong = 0; khi nhấn phím trái thì set nó = 0, phải thì set = 180.

if (check_key) { 
   dan = instance_create(x,y,obj_dan);
   dan.direction = huong;
   dan.speed = 12; 
}

It's good.
Hướng nhìn của object cũng có thể quy về biến nhé. Đó là cách game vận hành. Các thứ đều quy về các biến Wink
mình đã làm được rồi , mình set ntn
dan=instance_create(x,y,obj_dan) //obj_dan la tên của obj đạn
dan.direction=(image_xscale == -1)*180
:v Vấn đề tiếp theo nhé:
+ Va chạm với 1 obj thì khá đơn giản, nhưng mình muốn viên đạn của mình kiểu đại bác cơ, ví dụ nó nổ khi chạm 1 Enemy đàu tiên , nhưng phạm vi nổ lan tới tất cả các obj đứng trong phạm vi gần đó.
Như vậy mình phải lấy tất cả tên của các obj chạm vào phạm vi nổ ( hoặc chạm vào viên đạn , //vì mình không set viên đạn tự động destroy khi chạm vào 1 obj bất kì, nó sẽ có thể chạm vài obj đến khi nó biến mất vì phát nổ)
dùng code [ Instance_place(x,y,obj)] có được không! khi mình dùng code này thì viên đạn nó báo ID k đúng như ID của obj hiển thị trên room
Theo bổn đạo thì nên làm như sau sẽ đơn giản hóa đi nhiều.

- Tạo 1 object mới là effect_vu_no
- Object này hình tròn và để "invisible", tức là vô hình nhưng vẫn hoạt động trong game.
- Ờ object enemy, để event va chạm với effect_vu_no tương tự như bị bắn bởi object viên đạn.
- Ở event đạn va chạm với enemy, ta thêm 1 dòng nữa, chính là create ra object effect_vu_no

Wink Tùy biến để vận hành nữa nhé.