CHINH PHỤC
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Đăng nhập

Ghi nhớ
Latest topics
» Tôi sẽ đỗ đại học!
by nightWalker 9/2/2024, 7:00 pm

» Kỷ niệm xưa của chúng ta
by nightWalker 9/2/2024, 6:49 pm

» Bị lệch khung cần người giúp đỡ
by webhuy28 7/10/2021, 10:34 pm

» [HỎI ĐÁP] Danh sách bạn bè không thể hiển thị
by anhdaodaica1 2/10/2021, 10:04 pm

» [HỎI ĐÁP] Thông tin tài khoản không thể lưu thay đổi
by anhdaodaica1 2/10/2021, 6:05 am

» Phim bố già full
by huy.pc52 24/8/2021, 12:20 am

» Xin code Box HTML cho Forumvi
by Larva 1/7/2021, 12:57 pm

» Hello Anh Em Chinh phục
by HoàngTửNaivip5p 28/5/2021, 5:03 am

» Trang chủ tin tức cập nhật HOT 2016
by kenbi05 1/1/2020, 11:02 pm

» Không Dang9 bài viết = hình ảnh được
by huy.pc52 30/11/2019, 10:52 am

» CHÚC ANH EM NĂM MỚI VUI VẺ TRÀNG ĐẦY HẠNH PHÚC
by sps.kủn 12/2/2019, 1:16 pm

» Skin CNTT-K3 2015 (Full Mod)[✔]
by kenbi05 6/7/2018, 12:30 am

» baivong, handsome,....
by sps.kủn 29/6/2018, 1:54 pm

» [SHARE] SKIN ĐHFM.V7 @PUNBB
by tonyhoaivu 2/5/2018, 2:37 pm

» Share Skin Xanh Dương Cùi Bắp
by tonyhoaivu 28/4/2018, 5:57 pm

» Xin Skin http://v1.hotrofm.net/
by tonyhoaivu 28/4/2018, 5:45 pm

» Xin Skin Rao Vặt
by tonyhoaivu 15/4/2018, 12:07 pm

» Làm Sao Để Xóa Khung Này
by tonyhoaivu 14/4/2018, 7:18 pm

» [Lập nhóm]Lập nhóm fm
by vietkanpy 31/3/2018, 11:53 am

» [Help] về server úp ảnh của phutu [✔]
by baivong 17/3/2018, 10:18 pm

» Đừng khóc cho “tôi – Chinh Phục!”…
by AnHung 27/2/2018, 5:33 pm

» [Share] Skin Diendandaihoc.com [ Punbb ] [✔]
by Lu Mờ 13/2/2018, 7:28 pm

» Mời mấy thím vào groups Forumotion Việt Nam.
by dang02315 13/2/2018, 12:40 am

» Có thể làm các kiểu giao diện được không?
by Lu Mờ 9/2/2018, 3:40 pm

» ltns chinhphuc.info
by Shinichi Kudo 27/1/2018, 2:27 am

Top posting users this week
No user


Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

+5
K.-Kun
nightWalker
GaKon
arikbna
miamor
9 posters

Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by miamor 11/6/2013, 11:26 am

HTML5 không còn lạ gì đối với coders và cả fm-ers nữa nhỉ Cười nhe răng
Tuy nhiên thì để sử dụng thành thục HTML5 thì không phải ai cũng có thể.
và để tự học HTML5 cũng khá là khó.
HTML5 được sử dụng với nhiều mục đích, nhưng mục đích lớn nhất mình nghĩ là để lập trình game 2d~ (Hình như cũng có 3d rồi nhưng mà chưa hoàn chỉnh)

Mình cũng chả hiểu biết gì nhiều về lĩnh vực này, nhưng cũng mạo muội làm cái bài hướng dẫn này cho anh em XD
Mình định dịch, nhưng ngôn ngữ lập trình dịch qua tiếng việt mình thấy khá bựa =w= có lẽ là do mình bíp biết dịch thế nào =v=
Nên mình viết theo ý mình, có tham khảo tài liệu http://jdstraughan.com/2013/03/05/html5-snake-with-source-code-walkthrough/
(mình khuyên các bạn nên đọc chỉ 1 bài thôi, và nên là bài tiếng anh Cười nghiêng ng Đọc bài anh xog chuyển qua bài này mình sợ các bạn phọt máu mà chết x__X)

[*] Bài viết khá dài, bạn nào đủ kiên nhẫn thì hẵng đọc, còn ai không đọc thì chỉ cần kéo sang bên phải bấm nút like là xong mắc cỡ
[*] Bài viết hướng đến đối tượng gà mờ, giai đoạn đầu học hỏi HTML5, không dành cho dân chuyên. x___X
[*] Nếu có sai sót mong được lượng thứ sợ
[*] Mình không muốn nhận được những cmt kiểu: Dài thế bố ai mà đọc được, Dài thế này viết làm *abc* gì, có ai đọc đâu, Chả giúp ích gì,... bleh bleh bleh.. Không đọc, không giúp ích gì cho bạn thì phắn *abc* đi, lởn vởn cmt linh tinh ngứa hết cả mắt hú hồn


Ok... bài hướng dẫn này được viết trên nền game Rắn săn mồi, game đơn giản nhất, sử dụng ít thuật toán nhất.
Demo: http://invision.chinhphuc.info/h194-page hoặc http://invision.chinhphuc.info/h84-page (đương nhiên thì mình chả viết cái nào trong 2 cái đấy cả mắc cỡ )
Bài viết này phân tích theo demo 1 (trang /h194- )

HTML
Trang HTML cho game chỉ cần 1 thẻ canvas là đủ.
Code:
<canvas id="the-game" width="320" height="240">
Các bạn có thể thêm chút style:
Code:
<style>article, aside, details, figcaption, figure, footer, header,
hgroup, menu, nav, section {
  display: block;
}
body {
  background-color: #CCC;
}
h1 {
  text-align: center;
}
p {
  text-align: center;
}
canvas {
  display: block;
  margin: 0 auto;
  background-color: #666;
}</style>
Không có gì đang nói nhé?! Ok.


Quan trọng nhất là js viết xoay quanh thẻ canvas này.

Để cho dễ hiểu, ta sẽ chia js này thành 6 phần nhỏ để phân tích:
  • game (object)
  • snake (object)
  • food (object)
  • some helpers/service methods
  • an event listener
  • the game loop


Trước hết, trong thẻ script, điều cốt yếu ta cần là cái này:
Code:
var canvas = document.getElementById("the-game");
var context = canvas.getContext("2d");
Đây là 2 dòng cơ bản khi lập trình game với HTML5.
Nhiệm vụ của nó là để vẽ lên thẻ canvas có id the-game thông qua một đối tượng context được trả về từ phương thức canvas.getContext(id) - mà ở đây id là 2d

Và giờ thì chúng ta bước vào tìm hiểu 6 lớp nhỏ như phần đã giới thiệu Mơ

Game Object
Spoiler:

Snake Object
Spoiler:

Food Object
Spoiler:

Helpers
Spoiler:

Event Listener
Spoiler:

Game của chúng ta sắp hoàn chỉnh rồi. Giờ chỉ còn Game Loop - phần quan trọng nhất của bất kì một game nào.

Game loop
Spoiler:

Và cuối cùng! Game hoàn thành tung bông ! Thêm dòng này vào cuối cùng:
Code:
requestAnimationFrame(loop);
Xong! Game con rắn (kiểu cổ điển) đến đây là kết thúc. yeah yeah
Ngoài ra các bạn hoàn toàn có thể tạo game con rắn kiểu ma trận giống như nokia 1200,.. bằng cách tạo thêm lớp Map để thêm vật cản. Tuy nhiên, mình chưa đủ trình viết ra mắc cỡ mà cũng chưa thấy ai làm nó cả 8-} nên thôi. ko có gì hết Nhưng có thể biết đâu sau này sẽ có ai đó trong ChinhPhuc này làm bài hướng dẫn game con rắn ma trận ngại quá Tuy nhiên ngoài việc tạo lớp map mới ra thì sẽ cần phải để ý thêm đến tọa độ của con mồi trong hàm set() nữa.
Các bạn có thể tham khảo cách lớp Map và vật cản cũng như một đống kiểu viết mới nữa trong loạt serie hướng dẫn làm game mario ở đây:
Part 1: http://yinyangit.wordpress.com/2012/05/31/html5-canvas-viet-game-mario-part-1/
Part 2: http://yinyangit.wordpress.com/2012/06/02/html5-canvas-viet-game-mario-part-2/
Part 3: http://yinyangit.wordpress.com/2012/06/04/html5-canvas-viet-game-mario-part-3/
Part 4: http://yinyangit.wordpress.com/2012/06/06/html5-canvas-viet-game-mario-part-4/
Part 5 (end) : http://yinyangit.wordpress.com/2012/06/07/html5-canvas-viet-game-mario-part-5-end/
Hoặc tìm hiểu cách tạo game = HTML5 tại đây: http://yinyangit.wordpress.com/category/game-dev/html5-canvas/

Download ebook tại đây: Ọt ọt ọt
Tiếng Anh (recommend):
http://it-ebooks.info/tag/html5/
http://it-ebooks.info/book/415/ (căn bản)
http://it-ebooks.info/book/504/ (nâng caoo))
Tiếng Việt:
http://yinyangit.wordpress.com/2012/07/08/ebook-html5-canvas-lap-trinh-game-2d-free/

Spoiler:
miamor
miamor
CPPurpleMember
CPPurpleMember

Chrome Invision
Ngày đăng ký : 20/06/2011
Số bài : 838
CPP : 1509
Châm ngôn sống : ...

http://invision.chinhphuc.info

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by arikbna 11/6/2013, 11:41 am

game online hả bác
arikbna
arikbna
CPMember
CPMember

Opera PhpBB2
Ngày đăng ký : 07/03/2013
Số bài : 65
CPP : 1
Châm ngôn sống : yêu là chính

http://aniword.forumvi.com

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by miamor 11/6/2013, 11:46 am

arikbna đã viết:game online hả bác
là lập trình game = html5, chơi online, nhưng khi chơi game chưa có sao lưu dữ liệu. Tuy nhiên, bạn hoàn toàn có thể làm game theo kiểu 1 mình mình chơi với máy rồi so điểm với nhau, chứ nhiều người chơi trên 1 server nối vào nhau thì mình k chắc mắc cỡ )
miamor
miamor
CPPurpleMember
CPPurpleMember

Chrome Invision
Ngày đăng ký : 20/06/2011
Số bài : 838
CPP : 1509
Châm ngôn sống : ...

http://invision.chinhphuc.info

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by GaKon 11/6/2013, 12:03 pm

hay wa, tks thớt 2 phát lun
bữa nào rãnh ngồi vọc, lúc trc cũng định học mấy cái này nhưng toàn tiếng anh nên đâm ra chán ràu bỏ, hi vọng pác viết bài đều đều thôi mà
GaKon
GaKon
CPMember
CPMember

Firefox PunBB
Ngày đăng ký : 26/08/2011
Số bài : 44
CPP : -14
Châm ngôn sống : Bất chấp thủ đoạn...

http://testthanhda6.forumvi.com/

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by nightWalker 11/6/2013, 12:21 pm

cắn răng haha
nightWalker
nightWalker
CPYellowMember
CPYellowMember

Firefox PunBB
Ngày đăng ký : 14/04/2011
Số bài : 2109
CPP : 194
Châm ngôn sống : ;))

http://diendan.chinhphuc.info/

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by K.-Kun 11/6/2013, 12:27 pm

kingLeonidas đã viết:cắn răng Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi 104519

Ây da! Vừa nhìn Commet cắn trúng lưỡi rồi Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi 146766

P/s: Đừng có mở nhé!:
K.-Kun
K.-Kun
CPModerator
CPModerator

Firefox PunBB
Ngày đăng ký : 22/11/2012
Số bài : 1511
CPP : 639
Châm ngôn sống : Không bao giời đi ngược lại với lời nói của mình! Đó chính là nhẫn đạo của tôi

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by Ocean Sapphire 11/6/2013, 1:29 pm

Chà chà, ít khi wan tâm đến cái HTML5 (tại mức độ rộng lớn của nó sợ) Nhưng đọc xong bài này thấy hấp dẫn quá BigClap
1 like EcchiLove
Ocean Sapphire
Ocean Sapphire
CPPurpleMember
CPPurpleMember

Chrome PunBB
Ngày đăng ký : 21/05/2012
Số bài : 1084
CPP : 1933
Châm ngôn sống : ba chấm

http://fanrubydevil.forumvi.com

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by baivong 11/6/2013, 4:54 pm

Phần CSS, ngoài canvas thì các tag khác không nằm trong bài sao đưa vào làm gì?
Trong bài nhiều đoạn dịch, hướng dẫn, không phân biệt rõ biến(variables), hàm(function), phương thức(method) mà cái quan trọng nhất là method thì lại không đả động đến.
Trong bài này chỉ thuần giải thích cách tác giả viết game rắn săn mồi, gà mờ thì chẳng thể xem nổi "bài căn bản" này.
baivong
baivong
CPYellowMember
CPYellowMember

Firefox Invision
Ngày đăng ký : 02/04/2010
Số bài : 3114
CPP : 1212
Châm ngôn sống : Sống để được chết một lần.

http://devs.forumvi.com

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by mrtienduc1999 11/6/2013, 5:08 pm

Nếu làm game = Html5 thì có cần cài thêm gì không vậy bác. Nếu mà không thì .... Tớ nghĩ làm game = Html5 sẽ được ưa thích hơn so với flash nhỉ.
mrtienduc1999
mrtienduc1999
CPPurpleMember
CPPurpleMember

Chrome PhpBB2
Ngày đăng ký : 12/06/2012
Số bài : 649
CPP : -129
Châm ngôn sống : Đơn giản chỉ là Pokemon

http://www.pokemoner.net

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by baivong 11/6/2013, 5:22 pm

Cần cài... trình duyệt... có hỗ trợ HTML5 Tôi thích em
baivong
baivong
CPYellowMember
CPYellowMember

Firefox Invision
Ngày đăng ký : 02/04/2010
Số bài : 3114
CPP : 1212
Châm ngôn sống : Sống để được chết một lần.

http://devs.forumvi.com

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by Draudrey 11/6/2013, 5:35 pm

Hồi trước có làm 1 game bắn bóng nhưng chán quá nên bỏ...
Draudrey
Draudrey
CPModerator
CPModerator

Chrome Invision
Ngày đăng ký : 10/08/2012
Số bài : 902
CPP : 601
Châm ngôn sống : Nhìn lại mình trên CP mới thấy mình hồi đó sao trẻ trâu vcđ ra, đan con mạch nó muốn tự sát v l

http://diendan.chinhphuc.info/

Về Đầu Trang Go down

Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi Empty Re: Tìm hiểu căn bản lập trình game 2D với HTML5 qua game Rắn ăn mồi

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết