Giới thiệu về GameMaker cho người mới ( Tự làm game )

Thảo luận trong 'Tài liệu hướng dẫn'

Lượt xem: 4,675

  1. ta duy hung Member

    I. THẢO LUẬN 1 TÍ .
    Hiện nay việc dùng engine làm game gần như là duy nhất , hầu như các game đều được làm từ engine , cũng có nhiều game " tự lập trình " bằng các ngôn ngữ nhưng toàn cùi cùi cả . bởi vậy việc dùng engine làm game là điều chả có gì là "xấu hổ " .Tuy nhiên mọi cái đều có cái khó của nó , engine có nhiều loại và độ khó khác nhau , đa số độ khó tỉ lệ thuận với độ mạnh của engine . Việc sử dụng những engine chuyên nghiệp cỡ unreal .. thì có lẽ là quá khó, các engine nhẹ hơn như TGE , 3dgs..... thì cũng khó đối với những người bắt đầu .
    Song việc làm game ko chỉ là lập trình mà rất nhiều khâu , mắc xích lòng vòng, và tất nhiên ko phải ai cũng làm được . đa số các game bày bán lậu " công khai " ngoài kia đều do 1 công ty , 1 nhóm làm game chuyên nghiệp được đào tạo bài bản cũng mất hơn 1 năm là ít . so sánh với thực lực của ta. Nhất là đối với 1 nhóm nhỏ vài người lèo tèo , hay 1 người . hoặc với 1 người ko học CNTT và chả biết cái ngôn ngữ gì cả thì chỉ có nước cầu chúa .
    Song điều đó cũng ko có nghĩa lớp người này ko làm được game , có cung thì sẽ có cầu , nhiều engine dễ dàng hơn ra đời để phục vụ cho lớp người này . trong số đó có thể như rpgxp , gm , fpscreator , fighter maker ....
    Song đã làm game thì phải sáng tạo , bởi vậy tiêu chí chọn engine của mình là cho dù yếu và dễ đến đâu đi chăng nữa thì cũng phải SÁNG TẠO được game . Do đó GM là lựa chọn hàng đầu của mình . tuy nhiên nếu có engine nào mạnh hơn GM tí mà dễ như GM thì mình cũng sẵn sàng " có mới nới cũ '"liền . bởi làm game chứ ko phải ngồi ngắm cái engine mà nói " mình yêu cái này " ....chuối cả nải .
    So sánh các engine làm game cỡ " mini " thì GM là lựa chọn hàng đầu theo mình . Ngay cả cái tên cũng đủ nói về engine này , song nó khó hay ko thể sáng tạo game bởi lẽ 100 game thì giống nhau về gameplay cả trăm thì làm sao gọi là sáng tạo . những cái quan trọng như gameplay thì chuyền tay nhau script lấy được từ " ai đó " ở nơi xa xôi . Rồi những cái lặt vặt như shop , menu cũng " chuyền tay " luôn thì em cũng pó tay , ko biết các bác này nghĩ gì .
    Tôi sáng tạo được ? tất nhiên là có thể , nhưng hãy nghĩ xem VN đã có ai sáng tạo , điều đó cho thấy quá khó để sáng tạo . Tôi sử dụng thì phải , mà ngôn ngữ này chắc cũng ko dễ dàng gì , học được nó đã khó và ứng dụng vào làm game còn khó hơn . Nếu quyết tâm và có sức học thì sang TGB ,TGE ,.. làm cho mạnh ..
    fps, fighter cũng tương tự thế . Song với GM thì khác , GM ko cho bạn gì ban đầu cả và cũng chẳng " bắt " bạn ko được sáng tạo theo kiểu " giam lỏng " như các engine yếu khác . điều đó đồng nghĩa với bạn có thể SÁNG TẠO game .



  2. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    II. GIỚI THIỆU VỀ GAME MAKER ( GM )
    Hiện tại phiên bản mới nhất của GM 7 pro , song bản này cũng chả thấy hay ho hơn bản 6.1 là mấy , cho nên xài bản nào cũng được. bản 7 pro c*** hơi khùng khùng nên cũng ngại khi xài .Do mình ko chuyên về CNTT , cũng như các ngôn ngữ , engine ... nên cũng nói gì về mấy vấn đề " lý thuyết " đó , mà có biết thì cũng chả làm được gì vì GML ngôn ngữ của gm chỉ xài cho GM 1 NGÔN NGỮ CỦA GM
    Game maker sử dụng GML , 1 ngôn ngữ của riêng GM , nó hướng mạnh vào làm game , khác với C++ " sinh ra ko phải làm game " bởi vậy mà dùng GML bạn sẽ thấy dễ dàng đến bất ngờ + bật ngửa .2. ĐỘ KHÓ
    Tuy nhiên mọi cái đều có cái khó của nó , với GM cũng vậy , song bạn hãy yên tâm vì GM ko khó lắm và học 1 mình thì cũng làm game được và tất cả mọi công đoạn làm game đều chỉ cần 1 mình là làm được . bởi vì ngôn ngữ nó dễ học ban đầu , và trong quá trình làm game thì nó cũng nhanh hơn cho nên bạn sẽ ko mất nhiều thời gian cho nó và làm những việc khác .bởi vậy GM có chăng là khó ban đầu 3 . TÍNH NĂNG
    GM khá mạnh về 2D , đặc biệt có hệ thống effect ( part gì đó quên mất tiêu ) khá mạnh cho nên với 2D GM khá tuyệt .
    về 3D , GM chập chững và yếu ớt , có thể làm được song chỉ nên làm tới 3D mini thôi vì GM hơi yếu . còn về online thì tốc độ GM khỏi phải ... làm . còn về LAN thì mình .. chưa test , song nó có các dll nên tốc độ cải thiện đáng kể .
    túm lại thì với GM bạn develop đã tay được 2D + lan , 3D+online thì ko nên mơ tới . chính vì thế mà GM là engine yếu . tuy nhiên đừng vội méo mặt vì 2D cũng hay chứ đâu phải có 3D . thực tế cho thấy tuy 2D ko mạnh bằng 3D , song bản thân mình thì khoái 2D hơn ( diablo chẳng hạn ... )4. Ý KIẾN , THĂC MẮC , BÀN TÁN , XÔN XAO VỀ GAME MAKER - GM DUNG LƯỢNG HƠI BÉ , CỠ 10 MB CHẠY GẦN CHẾT .
    vấn đề này thì hồi trước em cũng nghĩ thế cho nên định chia ttay GM , nhưng sau đó bác vo_dich lại nói lại nên em mới ngớ người ra , công nhận ngu thiệt . GM có thể làm game vài trăm MB là chiện thường .- GM ĐỒ HỌA PIXEL+ RĂNG CƯA + XẤU .ơ ờ , trước đây thì cũng nghĩ thế , những khi nghe bác vo-dich phán cho vài phát thì lại bật ngửa ra . ngeh bác í nói GM có thể làm đồ họa đẹp , ko pixel , ko răng cưa , ko xấu . nhưng chưa thử nên ko dám chắc tuy nhiên pro mà phán thì sai cũng phải nghe ặc đùa thôi , chứ đồ họa chắc good , để nói rõ sau - GM LÀ ENGINE DRAG & DROP
    thực ra thì cũng đúng , tuy nhiên đó chỉ là giúp cho newbie dễ dàng đến với make game , và mấy cái D & R đó thì cũng chưa đến 1 % toàn bộ các action của GM . cho nên nói GM là D & R thì là cái nhìn bên ngoài .
    sau một hồi lâu tập tành với GM , bạn sẽ nhận ra là dùng script hay hơn nhiều , vừa pro , vừa tiện , lại vừa mạnh ,đó mới là chủ chốt trong GM . nói Gm có D & R thì đúng nhưng nói GM chỉ là D& R thì sai nặng .- GM LÀ ENGINE CHỈ CẦN COPY CÁC SCRIPT LÀ XONG
    sai nốt , GM ko cho bạn gì ban đầu , cũng như ko cố định gì cả , các đoạn script của nó là 1 mớ hỗn độn và lằng nhằng mà người " trong cuộc "nhìn đôi khí còn ngu . việc copy hầu như ko thể , có chăng nó là những script nho nhỏ , thể hiện 1 cái gì đó nhỏ bé mà bất kì engine nào cũng phải có , 1 đoạn mã thể hiện tuyết rơi trong java để lập trình web chẳng hạn .
    5 . CÔNG VIỆC MAKE GAME VỚI GM:
    thông thường để làm game với GM bạn cần phối hợp : đồ họa + lập trình + ý tưởng . âm thanh cho ai có khả năng , tuy nhiên làm âm thanh rất tốn kém , VN mấy ai làm âm thanh cho game ngoài việc đi tìm ...

    tất nhiên đó là khi bạn đã giỏi , còn với những người bắt đầu thì việc đầu tiên là cần nghiến ngấu ngôn ngữ của nó cũng các kĩ năng lập trình , sử dụng engine thành thạo đồng thời liên tục làm game để nâng cao kĩ năng .
    mình mất khá nhiều thời gian cho việc học GM , tính ra đến nay là hơn 1,5 năm , có lẽ do mình chậm tiến nên nó chậm thế chứ mấy tên pro như vo_doch , bullno1 thì 3 tháng là lên pro . thời gian học lâu hay chậm là do độ thông mình+ siêng năng của người làm .
    tham khảo về việc học make game của mình :
    1. mò mâm engine , tìm hiểu các example dễ để hiểu , làm các game nho nhỏ để quen tay đàn , bàn luận ,học hỏi với những người đi trước , những người khá hơn .lúc này mình chưa quan tâm nhiều đến ý tưởng
    2. khi coding đã vững thông qua nhiều lần làm game , bắt đầu nghĩ tới ý tưởng và thực hiện nó . nâng cao dần chất lên , luôn làm game ko ngừng để tự nâng cao .
    3....
  3. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    I VỀ GIAO DIỆN : 1. SPRITE
    khá đơn giản , bạn có thể tụ tìm hiểu khá nhanh .ở đây mình chỉ nói về trọng tâm là những thứ bạn cần lưu ý khi mới bất đầu
    về sprite bạn nên coi qua bài viết trên , mình viết bài này kết hopwj bài đó để tranh lập lại .TÂM CỦA SPRITE : chính vì sprite se là các nhân vật.. xuất hiện trong game nên cần phải có tâm chính xác :
    bạn nhấp vào 1 sprite và nhìn phần bên phải , đây là nơi xác định tâm của sprite , tọa độ origin là tâm sprite . nhấn center nếu bạn muốn sprite có tâm là chính giữa , tuy nhiên 1 số game tâm sẽ ở chỗ khác .CROP SPRITE : để tiết kiệm đung lượng bạn cần crop các image lại để loại bỏ đi các chỗ thừa của sprite , để crop sprite : images-> crop MÀU NÊN CỦA SPRITE : là màu mà sẽ trong suốt khi vào game , thông thường là màu trắng , tuy nhiên nhiều lúc cần phải đổi màu cho thích hợp . bạn vào tấm image trong sprite và chọn màu đó , rồi nhấp vào ô trái phái dưới của image . lúc đó màu nên sẽ đổi . chú ý rằng ngoại trừ màu nên ra thì tất cả các màu khác sẽ hiện thị .
    muốn có màu nên thì nhấp vào transparent , nếu ko muốn có màu nên thì bỏ đi .
    trọng tâm về sprite thì cần chú ý thế .2. SOUND
    sound thì ko cần quan tâm nhiều , mày mò tí là hiểu .3. BACKGROUND
    cũng tương tự như sprite , background ko có tâm , ko thể crop .background có thể hiểu khác với sprite , background là phần chết , còn sprite là phần sống .4.paths .
    nothing..5.SCRIPTđây là nơi viết các script , tuy nhiên có thể viết ngay trong object sau này , tuy nhiên viết script ở đây , có nhiều tiện lợi ,như có thể dùng nhiều cho các object , khỏi phải copy giữa các object. ngoài ra còn sáng tạo các script cho GM6. OBJECT
    là các vật thể hoạt động trong game , nhân vật ... ngôi nhà , các nhiệm vụ , item đều được xây dựng ở đây
    1 object bao gồm nhiều event ( sự kiện ) , khi có sự kiện thì có 1 hành động ( action ) nào đó xảy ra.
    add 1 event thì quá dễ , bạn có thể tham khảo tút của thiên bình .
    add 1 action thì mới vào khoái dùng drag& drop , nhưng nên theo hướng pro hóa thì xài code dần dần cho quen vì bạn chắc chắn sẽ chuyển sang code trong 1 ngày gần đây :
    để thêm 1 đoạn code vào object , sau khi đã add event , ta chọn control-> code ->kéo execute code ra -> cho code vao` .cho gi` thi` sau hãy quan tâm
    . 7. ROOM :là các level , các mảnh đất trong game mà bạn thấy SETTING : để thay đổi các độ rộng của room , speed là tốc độ room , bạn nên chọn 60 , peisister là để room ko bị trở lại như ban đầu mà giữ trạng thái như lúc thoát ra vào room khác . ví dụ như bạn muốn đánh xong room này nhảy sang room khác , rồi quay lại thì vẫn thấy room như lúc bạn mới bỏ đi . tuy nhiên ko nên đánh dấu , ta sẽ đánh dấu trong các object sẽ nói sau VIEW : đánh 2 cái dấu phía trên :
    view in room : độ rộng của phần mình sẽ nhìn thấy trong room
    post on screen : độ rộng hiển thị khi play
    2 cái này nên set là 640-> 800 , 480-> 600 la` ổn .

    object following... room sẽ luôn " quay " cái object được chọn này , như game diablo , màn hình luôn chạy theo nhân vật .
    hbor , vbor : hơi khó giải thích , bạn cứ cho nó 400 , 300 nếu bạn có chọn object following ở trên ...8. GLOBAL GAME SETTING :
    tinh chỉnh cho game
    start in full-screen : chạy full màn hình , ko có window
    dislay the cursor : hiển thị con chuột , cứ cho nó hiện thị , thích thì sau này tắt ko muộn .
    resolution : ko quan tâm
    other : bỏ mấy cái F1... thì hay hơn . esc thì lúc đầu thì bạn cứ để nó vậy , sau khi làm game xong thì mới bỏ nó . vì sau đó ta sẽ thiết lập nút thoát .
    loading : show your own : hiển thị cái hình load của bạn hay ko ?nếu có change image rồi chọn hình đó
    no loding proge... : ko có thanh loading chạy chạy
    default : chạy cái của GM
    own : chạy cái của mình
    change icon cho hoành trấng
    còn lại khỏi quan tâm .

    về giao diện cơ bản là thía .GM tút 3 : biến và các hàm cơ bản
    chú ý rằng trong đây mình dùng toàn code , cách thêm code xem tút 2
    để game có thẩ chạy được cần có 1 cái room và các object + hình ảnh .
    ban đầu bạn sẽ add hoặc vẽ các sprite vào , sau đó bắt đầu đi làm với object và đặt chúng vào room:I. event : xem qua cái tút của thiên bình là có đủ . mình ko nói gì thêm nhiều II. VỀ BIẾN :
    biến là các số liệu trong game , máu của 1 nhân vật là số liệu , hình ảnh thể hiện cho 1 object cũng là số liệu , tiền cũng là số liệu ...1. PHÂN LOẠI BIẾN :
    biến có nhièu loại :BIẾN RIÊNG : là biến dùng riêng cho object đó , ví dụ như mỗi con monter tuy cũng từ 1 object mà ra nhưng có số máu khác nhau . viết biến riêng thì đặt tên bình thường BIẾN CHUNG : là biến xài chung cho các object , hay nói đúng hơn thì là ko của riêng object nào cả , nó có thể sử dụng cho bất kì ai tùy thích . ví dụ lượng vàng tròn RTS , có vàng đó thì mua quân nào mà chả được .
    để viết biến này thì cần thêm 1 dòng global.tên biến BIẾN CỐ ĐỊNH : là mấy biến ko cần tạo ra , sỉnh ra đã có và đa số là biến riêng cho từng object
  4. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Mình còn 8 bản hướng dẫn game nhưng ko biết up lên đây kiểu gì vì nó kèm theo nhiều ảnh nhỏ.
    Bạn nào có nhu cầu thì Bảo mình cách up lên bằng Word nhé hoặc bằng 1 cách nào đấynhanh nhất. Chứ cứ up lên từng cái ảnh nhỏ thì lâu lắm.
    Last edited: 2/6/15
  5. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 1 / 13
    Scrolling Shooter
    Shooters di chuyển là một loại rất phổ biến của trò chơi hành động, và cũng khá dễ dàng để tạo ra với một gói như GameMaker. Trong hướng dẫn này, chúng tôi sẽ làm cho một trò chơi như thế, và trong quá trình này, bạn tìm hiểu một số khía cạnh của GameMaker, đặc biệt là việc sử dụng các biến. Trong một game bắn súng di chuyển người chơi điều khiển một đối tượng, ví dụ như một chiếc máy bay, tàu vũ trụ, hoặc xe hơi, trong đó di chuyển trên một nền tảng di chuyển. Những trở ngại xuất hiện trên nên cần phải tránh được và kẻ thù xuất hiện mà phải được bắn. Thường thì đối tượng thưởng xuất hiện mà có thể được chọn cho lợi ích bổ sung. Trong trò chơi, số lượng, chủng loại và sức mạnh của kẻ thù tăng làm cho nó khó khăn hơn để tồn tại.
    Trong hướng dẫn này chúng ta sẽ tạo ra một game bắn súng di chuyển được gọi là năm 1945, trong đó người chơi bay trong một chiếc máy bay trên biển và máy bay của đối phương cố gắng để tiêu diệt các đối thủ. Chúng tôi sẽ xử lý các khía cạnh như thế nào để tạo ra ảo giác về chuyển động bằng cách sử dụng một nền tảng di chuyển, làm thế nào để kiểm soát máy bay, làm thế nào để làm cho kẻ thù và đạn, và làm thế nào để đối phó với tỷ số, với cuộc đời và với những thiệt hại của máy bay. Nhưng trước hết, chúng tôi đi sâu vào một khía cạnh rất quan trọng của GameMaker mở rộng các khả năng đáng kể: việc sử dụng các biến.
    Các trò chơi sẽ sử dụng một số tài nguyên đặc biệt tạo ra cho mục đích này. Để tìm thấy chúng trên máy tính của bạn, xin vui lòng đi đến phía trên của màn hình GameMaker và chọn menu thả xuống Help. Bạn sẽ thấy một tùy chọn đánh dấu Open Project trong thám hiểm. Nếu bạn chọn mục đó thì file explorer chuẩn sẽ mở ra hiển thị các nội dung của bạn thư mục dự án GameMaker, và ở đó bạn có thể duyệt đến " Assets " và tất cả các nguồn tài nguyên được lưu trữ ở đây. Trong quá trình hướng dẫn này bạn sẽ được nhắc nhở về vị trí này.



    Hướng dẫn Game máy bay
    Trang 2 / 13
    Biến Variables

    Trước khi chúng ta sẽ thực sự tạo ra các trò chơi bắn súng di chuyển chúng ta cần phải nghiên cứu kỹ một chút vào một khái niệm quan trọng của GameMaker: việc sử dụng các biến. Khái niệm đơn giản này sẽ cung cấp một cơ chế mạnh mẽ ery để cho phép chơi trò chơi thú vị hơn nhiều. Vì vậy, một biến là gì? Nó tốt nhất có thể được xem như là một tài sản của một thể hiện của một đối tượng.
    Như bạn biết, có những tính chất nhất định chúng tôi có thể cho biết khi nào chúng ta định nghĩa một đối tượng. Ví dụ chúng ta có thể thiết lập cho dù nó được hiển thị hoặc cho dù đó là rắn. Ngoài ra còn có một số hành động mà thay đổi tính chất nhất định. Ví dụ có một hành động để thay đổi vị trí hoặc tốc độ của các ví dụ.
    Mỗi thể hiện có một số đặc tính như vậy và cũng có một số tính chất toàn cầu, như điểm số, mà không liên quan đến trường hợp cá nhân. Tất cả các thuộc tính được lưu trữ trong cái gọi là các biến có tên. Dưới đây là một số tính chất / biến mà mỗi thể hiện có:

    • x: x phối hợp của các ví dụ

    • y: y phối hợp của các ví dụ

    • hspeed: tốc độ ngang (tính theo điểm ảnh mỗi bước)

    • vspeed: tốc độ thẳng đứng (bằng pixel mỗi bước)

    direction: hướng hiện tại của chuyển động ở các mức độ, 0 là đúng, và đi ngược chiều kim đồng đến 360 được đúng một lần nữa

    speed: tốc độ hiện tại theo hướng này

    • có thể nhìn thấy: cho dù các đối tượng được hiển thị (1, hay đúng) hoặc vô hình (0 hoặc false)

    visible: cho dù các đối tượng là rắn (1, hoặc true) hay không (0 hoặc false)

    Và đây là một số biến toàn cầu:

    score: giá trị hiện tại của số điểm

    lives: số lượng hiện tại của cuộc sống

    health: sức khỏe hiện tại của các cầu thủ (mặc định là 100)

    • mouse_x: tọa độ x của chuột

    • mouse_y: tọa độ y của chuột

    • room_speed: tốc độ hiện tại (FPS) của phòng trong các bước trên giây

    • room_caption: chú thích hiển thị trong tiêu đề cửa sổ

    • room_width: chiều rộng của căn phòng trong pixels

    • room_height: chiều cao của các phòng trong pixels

    Có rất nhiều, rất nhiều biến hơn, cả hai địa phương cho các trường hợp, và toàn cầu. Tất cả trong số họ có thể được tìm thấy trong các tài liệu hướng dẫn GameMaker. Có những hành động mà thao tác giá trị của các biến nhất định, nhưng, như chúng ta sẽ thấy, bạn cũng có thể thao tác trực tiếp với họ. Là những gì tốt hơn, bạn có thể định nghĩa các biến riêng của bạn và sử dụng như là tốt.
    Ví dụ, như chúng ta sẽ thấy trong các phần tiếp theo, chúng ta muốn máy bay của chúng tôi để có thể bắn mỗi năm bước của trò chơi duy nhất một lần. Vì vậy, máy bay của chúng tôi cần có một tài sản để cho biết nó có thể chụp. Chúng tôi sử dụng một biến cho khách sạn này mà chúng ta gọi can_shoot. (Một tên biến chỉ có thể bao gồm chữ cái và biểu tượng gạch dưới. Tên biến là trường hợp nhạy cảm, vì vậy Can_Shoot không phải là cùng một biến như can_shoot.) Trong trường hợp sáng tạo của máy bay, chúng tôi đặt biến này là đúng sự thật (chúng ta cũng có thể sử dụng 1 để chỉ đúng). Khi người chơi muốn bắn một shot chúng tôi kiểm tra giá trị của biến để xem liệu này được cho phép. Bất cứ khi nào một bắn là bắn, chúng tôi thiết lập thuộc tính để sai (chỉ chụp được tạm thời không allowed- chúng ta cũng có thể sử dụng 0).
    Tiếp theo chúng ta sử dụng một sự kiện báo động để thiết lập thuộc tính trở lại đúng sau năm bước. Các trang tiếp theo sẽ mô tả chi tiết hơn. Trong một cách tương tự như chúng ta có thể sử dụng các biến để cho biết các máy bay có một lá chắn hoạt động, cho dù nó có một số nâng cấp vũ khí đặc biệt, vv
  6. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 3 / 13
    Actions biến Variable Actions

    Có hai hành động quan trọng để đối phó với các biến trực tiếp, có thể được tìm thấy trong các tab điều khiển: Control

    [​IMG] Thiết lập giá trị của một biến. Với hành động này, bạn có thể thay đổi giá trị của một biến nhất định. Điều này hoặc có thể là một trong những biến số được xây dựng trong hoặc biến riêng của bạn. Bạn chỉ rõ tên của các biến và giá trị mới. Khi bạn đánh dấu vào ô tương đối giá trị nhất định được thêm vào giá trị hiện tại của biến. Xin lưu ý rằng điều này chỉ có thể được thực hiện nếu các biến đã có một giá trị được gán cho nó! Thay vì cung cấp một giá trị đơn giản cho các biến mà bạn cũng có thể cung cấp cho một biểu thức. Ví dụ, để tăng gấp đôi số điểm các bạn có thể thiết lập giá trị của các điểm số score to value 2*score.
    [​IMG]If a variable has a value Nếu một biến có giá trị. Với hành động này, bạn có thể kiểm tra những gì giá trị của một biến cụ thể là. Nếu giá trị của biến là bằng với số lượng nhất định, câu hỏi trả về true và các hành động tiếp theo hoặc chặn các hành động được thực hiện. Nếu nó không phải là bằng nhau, các hành động tiếp theo hoặc chặn các hành động không được thực hiện. Bạn cũng có thể chỉ ra rằng việc kiểm tra nên xem xét liệu các giá trị biến là nhỏ hơn giá trị được đưa ra hoặc lớn hơn giá trị nhất định. Trên thực tế, bạn không bị giới hạn sử dụng các biến nhưng có thể kiểm tra bất kỳ biểu hiện nào bạn muốn. Sau đó, chúng ta sẽ thấy một số ví dụ về việc sử dụng của những hành động này.
    Có một điều nữa bạn cần biết về các biến. Như tôi đã nói ở trên có các biến địa phương rằng "thuộc về" một thể hiện và có các biến toàn cầu. Khi bạn sử dụng các biến riêng của bạn đó là luôn luôn biến dụ rằng chỉ tồn tại trong các ví dụ trong những hành động của bạn sử dụng chúng. Nếu bạn muốn sử dụng các biến toàn cầu của riêng bạn, bạn có tiền tố tên bằng tiếng toàn cầu và một dấu chấm. Vì vậy, ví dụ, bạn có thể sử dụng một global.bonus biến để chỉ ra số điểm thưởng được thu thập bởi các cầu thủ. Luôn có mũ cẩn thận bạn sử dụng tên biến mà chưa tồn tại và cũng khác với tên của sprites, âm thanh, vv Một trong những cách để đạt được điều này là phải luôn luôn để cho các biến của bạn bắt đầu với ví dụ: var_.

    Hướng dẫn Game máy bay
    Trang 4 / 13
    Cuộn Backgrounds Scrolling Backgrounds
    [​IMG]
    Một scrolling shooter nhờ tên của nó vào thực tế là các cuộn thế giới trò chơi trên màn hình, bình thường hoặc từ trên xuống dưới hoặc từ phải sang trái. Điều này tạo cho cảm giác động. Trong trò chơi 1945 trò chơi cuộn thế giới theo chiều dọc. Mặc dù các máy bay điều khiển người chơi thực sự đứng yên trên màn hình bạn có ấn tượng như thể nó bay trên nền di chuyển.

    Bạn có thể kiểm soát vị trí của máy bay bằng cách di chuyển nó xung quanh trên màn hình. Điều này cho ấn tượng của máy bay tăng tốc, khi nó di chuyển về phía trước, hoặc làm chậm lại khi nó di chuyển về phía sau. Điều quan trọng là các máy bay không di chuyển nhanh về phía sau so với các cuộn background. Điều này sẽ tạo ra ảo tưởng rằng chiếc máy bay bay ngược trở lại, đó là tất nhiên không thể.
    Vì vậy, làm thế nào để chúng ta tạo ra một nền tảng di chuyển trong GameMaker? Thực tế, có hai khả năng. Khả năng đầu tiên và đơn giản nhất là sử dụng một ảnh nền ốp lát mà di chuyển xuống dưới qua căn phòng. Thứ hai, phức tạp hơn, là cách để xây dựng một phòng lớn hơn nhiều nhưng chỉ hiển thị một phần của căn phòng bằng cách sử dụng một cái nhìn cái gọi là. Quan điểm này từ từ di chuyển lên trên phòng. Chúng tôi sẽ bắt đầu với việc sử dụng một nền tảng di chuyển. Sau đó chúng tôi sẽ điều tra một thời gian ngắn là lựa chọn thứ hai.
    Như trò chơi của chúng tôi diễn ra trên see chúng ta cần một hình ảnh nền mà trông giống như một see nhìn từ trên xuống. Chúng tôi thêm hình ảnh nhỏ sau đây như là một nguồn tài nguyên nền cho các trò chơi và cung cấp cho nó tên back_water:
    [​IMG]
    Đổ nước vào nền với nó sẽ cho một biển độc đáo nhìn. Để tạo ra một phòng với một nền tảng di chuyển, thêm một phòng để các trò chơi theo cách quen thuộc. Ở bên trái bấm vào tab có nhãn nguồn gốc backgrounds. Chúng ta cần phải thay đổi ba thiết lập ở đây.

    Trước hết, bởi vì chúng ta sẽ điền vào toàn bộ căn phòng với những hình ảnh nền chúng ta không cần phải rút ra những nền tảng trong một màu sắc, nên bỏ chọn hộp có nhãn màu nền Draw background color. Thứ hai, ở giữa nhấp vào biểu tượng menu và chọn hình ảnh nền back_water. Cài đặt mặc định là ngói toàn bộ căn phòng với nó vì vậy đây là những gì chúng ta muốn. Cuối cùng, chúng ta cần phải làm cho di chuyển nền. Để kết thúc này, ở phía dưới, đặt Vert. tốc độ 2. Các hình thức doanh nghiệp nên xem xét như sau.

    [​IMG]

    Chạy các trò chơi để xác minh rằng chúng tôi thực sự có một nền tảng di chuyển mà cho cảm giác động.
  7. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 5 / 13
    Quần đảo Scrolling Scrolling Islands

    [​IMG]

    Để tăng cường cảm giác chuyển động, chúng tôi sẽ bổ sung thêm một vài hòn đảo để xem Precise collision checking. Một cách dễ dàng sẽ được để tạo ra một hình ảnh nền lớn hơn và thêm đảo để nền tảng này. Những bất lợi của phương pháp này là các hòn đảo sẽ xuất hiện trong một mô hình thường xuyên, trong đó người chơi sớm thông báo. (Bạn có thể thấy điều này trong phim hoạt hình, nơi có một nền di chuyển lặp lại đằng sau một nhân vật chạy.) Vì vậy, chúng tôi chọn một cách tiếp cận hơi phức tạp hơn và thêm đảo như các đối tượng. Vì vậy, đầu tiên, tạo ra ba sprites với những hình ảnh sau đây (bạn có thể làm điều này một cách dễ dàng bằng cách kéo mỗi hình ảnh vào cửa sổ GameMaker, sau đó chọn "Sprite" từ cửa sổ oprions mở ra):

    [​IMG]
    Như chúng ta sẽ không bao giờ sử dụng chúng để kiểm tra va chạm, nó là tốt nhất để đảm bảo kiểm tra va chạm chính xác là không được kiểm soát. Điều này sẽ cải thiện tốc độ game chạy. Đối với mỗi đảo, chúng tôi tạo ra một đối tượng. Trong sự kiện sáng tạo, chúng tôi cung cấp cho các đối tượng một tốc độ thẳng đứng mà là giống như tốc độ di chuyển của nền. Bằng cách này, có vẻ như những hòn đảo này là một phần của nền vì họ ở lại ở vị trí tương đối với các biển cuộn với.

    Để làm điều này, thêm một Tạo sự kiện cho đối tượng và trong nó thêm "Speed Vertical" DnD từ tab di chuyển. Đặt vert. giá trị tốc độ 2 (giống như các phòng tốc độ background) và sau đó bấm vào nút "OK" để hoàn tất. Các trường hợp của các đối tượng đảo bây giờ sẽ di chuyển xuống với nền.

    Để chắc chắn rằng tất cả các đối tượng khác sẽ ở lại trên đảo, chúng tôi cung cấp cho đảo các đối tượng một chiều sâu của 10000. Instances của các đối tượng được vẽ theo thứ tự của chiều sâu. Các trường có độ sâu cao nhất được rút ra đầu tiên. Trường hợp có độ sâu thấp hơn được rút ra trên đầu trang của họ. Vì vậy, bằng cách đưa ra các đảo có độ sâu cao, họ sẽ luôn luôn được rút ra đầu tiên và nằm dưới các đối tượng khác.

    Một điều nữa cần phải được thực hiện. Khi hòn đảo biến mất dưới đáy của căn phòng, chúng tôi muốn làm cho nó xuất hiện trở lại ở đầu trang. Để làm điều này, trong sự kiện Step của hòn đảo, chúng tôi sẽ kiểm tra xem hòn đảo này biến mất phía dưới màn hình, và nếu như vậy, để cho nó xuất hiện trở lại ở đầu trang. Lưu ý rằng các y biến chỉ ra vị trí thẳng đứng của các ví dụ. (Giá trị 0 tương ứng với đỉnh của căn phòng!)

    Các room_height biến cho thấy chiều cao của căn phòng. Vì vậy, hòn đảo này biến mất dưới đáy của phòng khi y là lớn hơn room_height. Vì vậy, chúng ta có thể sử dụng hành động để kiểm tra giá trị của biến để xem liệu hòn đảo nằm bên dưới căn phòng:

    Như bạn thấy, như giá trị mà bạn có thể thực sự sử dụng một tên biến. Bạn thực sự có thể gõ biểu thức đầy đủ ở đây.

    Để di chuyển đến phía trên cùng của phòng chúng tôi sử dụng các hành động để chuyển đến một vị trí. Nhưng chúng tôi muốn chuyển đến một vị trí ngẫu nhiên trên phòng, không một ai cụ thể. Bằng cách chọn một vị trí ngẫu nhiên có l ess đều đặn trong những nơi mà các đảo xuất hiện. Vì vậy, người chơi không có cảm giác rằng nó là hòn đảo cùng xuất hiện trở lại.

    Nhưng làm thế nào để chúng tôi đưa ra một giá trị ngẫu nhiên? Đối với điều này có một hàm ngẫu nhiên (). Một chức năng bạn có thể hỏi là gì? Một chức năng tính toán một giá trị (hoặc thực hiện một hành động) dựa trên giá trị của các đối số nhất định. Lập luận (s) được viết giữa dấu ngoặc sau tên hàm. Ở khắp mọi nơi, nơi bạn có thể gõ vào giá trị bạn cũng có thể sử dụng các chức năng và các biến (và các biểu thức liên quan đến các).

    Có nhiều chức năng trong GameMaker. Nhưng bây giờ chúng tôi chỉ cần những chức năng ngẫu nhiên (). Trong hành động nhảy, chúng tôi sử dụng ngẫu nhiên (room_width) là tọa độ x. Điều này sẽ tạo ra một giá trị ngẫu nhiên giữa 0 và chiều rộng của căn phòng, như chúng ta muốn. Vì vậy, các hành động nhảy sẽ trông như sau:

    [​IMG]

    Chúng tôi sử dụng -65 cho các y-vị trí để đảm bảo rằng hòn đảo này bắt đầu hoàn toàn ở trên phòng. Bởi vì tốc độ thẳng đứng của nó, nó sẽ di chuyển một lần nữa trong tầm nhìn. Chúng ta phải này cho tất cả các đối tượng ba hòn đảo. Tất cả những gì còn phải làm là đặt ba hòn đảo ở những độ cao khác nhau trong phòng và chúng tôi đang thực hiện với nền di chuyển của chúng tôi.

    Mặc dù các đảo xuất hiện trở lại ở những khoảnh khắc thường xuyên, bởi vì vị trí là khác nhau, người chơi sẽ không thực sự nhận thấy rằng họ là như nhau. Bạn cũng có thể có thêm một số bất thường trong thời điểm các đảo xuất hiện bởi cũng thiết lập một (âm) giá trị ngẫu nhiên cho các y-phối hợp.
  8. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 6 / 13
    Các chính Plane The Main Plane

    Bây giờ mà các nền cuộn là sẵn sàng nó là thời gian để làm cho chiếc máy bay mà người chơi sẽ điều khiển. Đây thực sự là khá dễ dàng. Trước hết chúng ta cần một sprite cho máy bay. Chúng tôi sẽ sử dụng một chiếc máy bay cánh quạt. Để cung cấp cho các cánh quạt ảo tưởng của chúng tôi luân phiên sử dụng một sprite gồm ba hình ảnh mà là giống hệt nhau, ngoại trừ cho các cánh quạt (hình ảnh này có thể được tìm thấy như myplane_strip3 trong thư mục Hướng dẫn thích hợp, nơi GameMaker đã được cài đặt):
    [​IMG]

    Sprites hoạt hình này có thể được tìm thấy trong các tập tin kết thúc bằng _stripXX, nơi XX cho biết số subimages.

    Khi tạo sprite này, chúng tôi làm một việc quan trọng. Chúng ta thiết lập X và Y của xứ đến 32. Điều này có nghĩa là nguồn gốc của các sprite là trung tâm của máy bay. Vì vậy, bất cứ khi nào chúng tôi sau đó thiết lập các máy bay tại một vị trí hoặc kiểm tra vị trí, chúng ta có nghĩa là vị trí trung tâm của máy bay, không phải là điểm trên cùng bên trái, mà thường được sử dụng như là nguồn gốc. Điều này là quan trọng để đảm bảo rằng ví dụ đạn đến từ trung tâm của mặt phẳng, không phải từ phía bên trái.

    Tiếp theo chúng ta thêm obj_myplane đối tượng. Như sprite chúng tôi chọn sprite máy bay chúng ta vừa tạo. Chúng tôi cung cấp cho nó một độ sâu -100 để đảm bảo rằng nó nằm trên đạn, vv mà chúng ta sẽ tạo ra sau đó. (Xử lý tài sản sâu một cách hiệu quả là rất quan trọng đối với nhiều trò chơi. Vì vậy, bạn hiểu rõ hơn về cách sử dụng này.) Đối với thời điểm chúng ta chỉ cần xác định chuyển động của máy bay.

    Khi người chơi không có gì, các máy bay sẽ không di chuyển. (Hãy nhớ rằng, các động thái nền, không phải là máy bay). Nếu người chơi nhấn một trong bốn phím mũi tên máy bay nên di chuyển theo hướng thích hợp. Mối quan tâm chính của chúng tôi là để tránh rằng chiếc máy bay di chuyển bên ngoài phòng. Để kết thúc này, chúng tôi sẽ kiểm soát chuyển động chính chúng ta, chứ không phải là cung cấp cho các máy bay có một tốc độ. Điều này được thực hiện như sau.

    Chúng ta hãy nhìn vào những chuyển động cho các phím mũi tên trái. Thêm sự kiện bàn phím cho phím. Đầu tiên chúng ta cần phải kiểm tra xem chúng tôi không quá xa bên trái. Vì vậy, chúng tôi sử dụng các hành động để kiểm tra xem các biến x là lớn hơn 40, tương tự như cách chúng tôi kiểm tra y phối hợp của các hòn đảo trên. Nếu việc kiểm tra này trả về true chúng ta muốn di chuyển máy bay có một khoảng cách nhỏ với thân nhân còn lại để vị trí hiện tại của nó.

    [​IMG]
    [​IMG]


    Đối với điều này, chúng tôi sử dụng "nhảy đến một vị trí" hành động để di chuyển tương đối -4 cho x và 0 cho y. Đừng quên kiểm tra các hộp có nhãn tương đối. Đối với các mũi tên bên phải chúng ta làm một điều tương tự. Chúng tôi kiểm tra xem x là nhỏ hơn so với room_width-40, và nếu như vậy, nhảy tương đối đối với x là 4 và y là 0. Tương tự như đối với các chuyển động thẳng đứng, nhưng lần này chúng tôi kiểm tra vị trí y của chiếc máy bay đầu tiên và chỉ di chuyển với một tốc độ của 2 và 4.

    Chúng tôi sử dụng -2 cho việc di chuyển lên như là nền tảng di chuyển xuống với tốc độ 2, do đó tốc độ tổng thể xuất hiện được 4 cho ví dụ máy bay. Ở dưới cùng của màn hình, làm cho các vị trí kiểm tra y giữ một biên độ lớn hơn 120 pixels, vì điều này sẽ được sử dụng sau để đặt một bảng điều khiển với một số thông tin trò chơi. Các tập cuối cùng của sự kiện cho máy bay nên giống như thế này:
    [​IMG]


    Máy bay chúng tôi có thể bay ngay bây giờ. Đặt một thể hiện của các máy bay trong phòng và chạy các trò chơi. Bạn sẽ nhận được những ảo ảnh bay trên mặt nước biển.
  9. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 7 / 13
    Shooting

    Nhưng một game bắn súng di chuyển nếu bạn không thể bắn là gì và không có kẻ thù? Bây giờ chúng ta sẽ mở rộng trò chơi của chúng tôi với một số máy bay của đối phương và một canon trên máy bay mà bạn có thể cháy.

    Chúng ta hãy bắt đầu với canon. Chúng ta cần một sprite đạn. Chúng tôi đặt nguồn gốc của nó ở trung tâm như chúng tôi đã làm cho các máy bay chính. Để làm cho nó một chút ngoạn mục, chúng tôi sử dụng một viên đạn khá lớn. Phóng đại mọi thứ là rất quan trọng trong trò chơi.

    [​IMG]

    Chúng tôi tạo ra một đối tượng với sprite này. Chúng tôi sẽ cung cấp cho nó sâu mặc định 0 như vậy mà nó sẽ xuất hiện bên dưới mặt phẳng nhưng trên các đảo. Các đối tượng có hành vi khá đơn giản. Trong sự kiện sáng tạo, chúng tôi cung cấp cho nó một tốc độ thẳng đứng của -8 đến làm cho nó di chuyển lên trên. Để tránh điều đó nhiều hơn và nhiều hơn nữa đạn cứ bay xung quanh chúng ta phải tiêu diệt nó khi nó rời khỏi phòng.

    Điều này có thể dễ dàng đạt được. Trong sự kiện bước chúng ta kiểm tra xem các biến x là nhỏ hơn -16. Bạn nên bây giờ biết làm thế nào để làm điều này. Nếu vậy chúng ta tiêu diệt các đối tượng sử dụng các hành động thích hợp. (Bạn cũng có thể sử dụng các sự kiện bên ngoài phòng có thể được tìm thấy trong các sự kiện khác.)

    Đạn phải được phát sinh khi người dùng nhấn phím không gian. Như trong hầu hết các game bắn súng máy bay nên tiếp tục bắn đạn miễn là các phím được nhấn. Nhưng chúng tôi không muốn quá nhiều đạn cùng một lúc. Điều này sẽ làm cho các trò chơi quá dễ dàng.

    Chúng tôi chỉ cho phép người chơi bắn hai viên đạn mỗi thứ hai, đó là, một viên đạn mỗi 15 bước. Để đạt được điều này, chúng tôi sử dụng một can_shoot biến như chúng tôi đã đề cập trước đây. Trong sự kiện sáng tạo của các máy bay chính của chúng tôi đặt biến này là 1, chỉ ra rằng chúng ta thực sự có thể bắn một viên đạn
    [​IMG]

    Trong các sự kiện quan trọng không gian chúng ta kiểm tra xem can_shoot biến là bằng 1. Nếu vậy, chúng tôi tạo ra một viên đạn ngay trước của con tàu, tương đối ở vị trí (0, -16). Ngoài ra chúng tôi thiết lập các biến can_shoot 0 chỉ ra rằng chúng tôi không còn có thể chụp và thiết alarm0 đến 15.

    [​IMG]

    Hãy nhớ rằng một báo động ve xuống 0 với một đánh dấu trong mỗi bước. Khi báo thức đạt đến 0, sự kiện báo động xảy ra. Trong sự kiện này, chúng tôi thiết lập các can_shoot biến trở lại 1, chỉ ra rằng chúng ta có thể quay trở lại. Bạn có thể chỉ cần sao chép và dán các hành động từ các sự kiện tạo thành các sự kiện Alarm0 để đạt được điều này.

    Bạn có thể thay đổi tốc độ mà bạn có thể chụp bằng cách thay đổi các giá trị của đồng hồ báo thức. (Trong một số trò chơi mà bạn có thể chụp nhanh hơn nếu bạn sẵn sàng liên tục nhấn phím không gian. Điều này có thể đạt được bằng cách sử dụng một bộ tương tự của hành động trong chính không gian sự kiện ép nhưng lần này mà không có sự kiểm cho các biến.)
  10. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 8 / 13
    Kẻ thù Enemies

    Bây giờ chúng ta làm cho kẻ thù đầu tiên. Nó là một chiếc máy bay nhỏ mà chỉ đơn giản là bay xuống dưới. Nó không bắn nhưng khi nó chạm mặt phẳng chính của trò chơi bị mất. Một lần nữa chúng ta tạo ra một ma cho máy bay địch với nó là nguồn gốc ở trung tâm (16, 16) và một đối tượng. Trong sự kiện sáng tạo, chúng tôi thiết lập tốc độ để dọc 4 để làm cho máy bay bay xuống dưới. Khi máy bay đạt đến dưới cùng của căn phòng, chúng tôi làm cho nó xuất hiện trở lại ở một nơi ngẫu nhiên ở trên cùng của căn phòng, trong cách chính xác giống như chúng tôi đã làm cho các đảo. Bạn nên biết làm thế nào để làm điều này bây giờ!

    Chúng ta cần phải xác định hai sự kiện quan trọng đối với vụ va chạm máy bay kẻ thù: sự kiện va chạm với viên đạn, mà phải tiêu diệt các máy bay của đối phương, và các sự kiện va chạm với người chơi máy bay điều khiển mà nên tiêu diệt máy bay và kết thúc trò chơi.

    Trước khi chúng tôi đi trước với những va chạm Tuy nhiên, chúng ta trước hết chúng ta cần một âm thanh cho một vụ nổ nhỏ và một sprite cho biết vụ nổ. Để tạo ra một âm thanh, nhấn Thêm âm thanh và tải một số âm thanh nổ đẹp (như một trong các thư mục tài sản), và cho sự bùng nổ, chúng tôi cần một chút ma. Giống như đối với các máy bay địch, chúng tôi thiết lập gốc đến (16,16). Chúng tôi cũng tạo ra một đối tượng nổ và cung cấp cho nó các sprite nổ. Nó không làm gì ngoại trừ một lần các hình ảnh động nổ hoàn chỉnh đã chơi nó phải tiêu diệt chính nó. Có một sự kiện được gọi là Animation cuối cho điều này trong các sự kiện khác, vì vậy thêm sự kiện này và vào nó, bạn nên kéo phá hủy hành động dụ.

    Khi âm thanh và các đối tượng nổ đã sẵn sàng, chúng tôi có thể điền vào các sự kiện va chạm với máy bay đối phương với một viên đạn. Những hành động sau đây được yêu cầu. Trước hết chúng tôi chơi âm thanh nổ. Tiếp theo chúng ta tiêu diệt đạn. Đối với điều này sử dụng hành động để tiêu diệt một thể nhưng, ở phía trên, chỉ ra rằng nó nên được áp dụng cho các trường hợp khác, đó là viên đạn trong trường hợp này.

    Tiếp theo chúng ta tạo ra các đối tượng nổ, tương đối ở vị trí (0,0), nghĩa là vào cùng một vị trí như các máy bay của đối phương. Chúng tôi không tiêu diệt máy bay địch! Thay vào đó, chúng tôi di chuyển nó đến một vị trí ngẫu nhiên trên căn phòng như vậy mà nó trông như thể một máy bay kẻ thù mới đang đến. Cuối cùng, chúng tôi thiết lập số điểm liên quan đến 5. Chúng ta cần tương đối ở đây bởi vì chúng ta muốn thêm 5 điểm vào điểm số; chúng tôi không muốn để thiết lập các điểm đến 5. Các sự kiện sẽ giống như thế này:

    [​IMG]

    Tiếp theo chúng ta cần phải xử lý các vụ va chạm với mặt phẳng chính. Một lần nữa, chúng tôi sẽ cần một sprite nổ (lớn hơn một chút thời gian này) và một âm thanh nổ (to hơn một chút thời gian này). Chúng tôi thêm các âm thanh với các trò chơi và chúng tôi làm một sprite cho sự bùng nổ. Một lần nữa chúng ta tạo ra một đối tượng nổ cho nó, nhưng đối tượng này là một chút phức tạp hơn so với các đối tượng nổ khác bởi vì nó cũng sẽ xử lý kết thúc của trò chơi.

    Trong sự kiện Animation kết thúc của nó, chúng tôi làm một vài điều. Chúng tôi chơi một âm thanh, sau đó chúng tôi thông báo với người chơi rằng ông đã qua đời cách sử dụng hiển thị một tin nhắn từ "main2" tab, và cuối cùng, chúng tôi khởi động lại game.

    [​IMG]

    Trong sự kiện va chạm của máy bay địch và máy bay chính, chúng ta thay đổi mặt phẳng chính, có nghĩa là, các ví dụ khác, vào một vụ nổ. Ngoài ra chúng tôi chơi âm thanh nổ và chúng ta tiêu diệt máy bay địch. Những gì còn lại là để đặt một chiếc máy bay của đối phương trong phòng, nhưng chúng tôi sẽ làm điều này hơi khác nhau. Một trò chơi tốt trở nên khó khăn hơn tất cả các thời gian. Vì vậy, chúng tôi muốn bắt đầu với chỉ một chiếc máy bay của đối phương và nhận được nhiều hơn theo thời gian. Để kết thúc này, chúng tôi tạo ra một đối tượng, mà chúng ta sẽ gọi controller_enemy. Nó sẽ kiểm soát việc tạo ra các máy bay đối phương. Chúng tôi làm cho các đối tượng vô hình trong khi chơi game bằng cách bỏ chọn hộp có nhãn Visible. Một sprite là không cần thiết cho nó.

    Trong sự kiện sáng tạo của nó chúng ta tạo ra một nơi kẻ thù ở một vị trí ngẫu nhiên chỉ ở trên phòng. Đây sẽ là kẻ thù đầu tiên. Chúng tôi cũng đặt đồng hồ báo thức để 200. Trong các sự kiện cho đồng hồ báo thức này, chúng tôi tạo ra một chiếc máy bay của đối phương và đặt đồng hồ báo thức một lần nữa, nhưng lần này đến 500. Đó là tất cả. Hiệu quả là, vào đầu của trò chơi có một chiếc máy bay của đối phương.

    Sau 200 bước, đó là, khoảng bảy giây, một chiếc máy bay địch thứ hai xuất hiện. Sau khoảng 15 giây, một chiếc máy bay thứ ba xuất hiện, vv (Lý do mà chúng ta để cho máy bay thứ hai xuất hiện nhanh hơn so với những người khác là bởi vì các trò chơi chỉ với một chiếc máy bay của đối phương là quá nhàm chán.) Đặt một thể hiện của đối tượng điều khiển trong phòng và chúng tôi đang thực hiện.

    Điều này kết thúc phiên bản thứ hai của năm 1945. Chúng tôi có một trò chơi có thể chơi với một kẻ thù
  11. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay

    Trang 9 / 13

    Score, Lives và sức khỏe Score, Lives And Health


    Nó là một chút không đạt yêu cầu mà các trò chơi kết thúc bất cứ khi nào bạn đạt được. Để làm cho trò chơi thú vị hơn một chút, chúng tôi sẽ cho phép kẻ thù tạo ra thiệt hại. Chỉ khi chiếc máy bay bị thiệt hại quá nhiều nó sẽ bị phá hủy. Ngoài ra chúng tôi sẽ giới thiệu nhiều sinh mạng và tạo ra một bảng thông tin tốt đẹp mà hiển thị thông tin này, cùng với tỷ số. May mắn thay, điều này tất cả sẽ rất dễ dàng bởi vì GameMaker đã được xây dựng trong cơ chế để đối phó với điểm số, cuộc sống và sức khỏe (là đối diện của thiệt hại).


    Để tạo ra tất cả điều này chúng tôi làm cho một đối tượng mới được gọi là controller_life. Nó không cần một sprite như chúng ta sẽ kiểm soát việc vẽ bản thân bằng cách sử dụng các sự kiện vẽ. Như bạn đã biết, thông thường trong mỗi bước sprite đó được thiết lập cho các ví dụ được rút ra ở đúng vị trí trong phòng. Nhưng khi bạn đặt hành động trong trường hợp bản vẽ này là không còn trường hợp. Bây giờ những hành động xác định những gì đã được rút ra.


    Có một bộ sưu tập toàn bộ các hoạt động sẵn chỉ cho bản vẽ. Hầu hết trong số họ có thể được tìm thấy trong các tab Draw. Nhưng bạn cũng có thể sử dụng các hành động khác ở đây. Những hành động vẽ chỉ có ý nghĩa trong trường hợp bản vẽ. Tại những nơi khác họ về cơ bản bỏ qua.


    Như một sự khởi đầu chúng ta tạo ra một sprite lớn có chức năng như bảng thông tin. Tạo một sprite mới và tải trong "bottom.png" sprite từ "tài nguyên" thư mục đi kèm với hướng dẫn này.


    Nó sẽ hiển thị số điểm, những thiệt hại (trong khu vực màu đen ở bên trái), và số lượng máy bay còn lại, đó là số lượng cuộc sống. Trong trường hợp bản vẽ của controller_life chúng ta rút ra thông tin này panel sprite ở đúng vị trí bằng cách sử dụng hành động để vẽ một sprite. Chúng tôi điền vào các thông số trong như sau:


    [​IMG]

    Điều này sẽ thay sprite chính xác ở dưới cùng của màn hình. (Sử dụng -1 cho subimage nghĩa là subimage hiện được rút ra. Khi chỉ có một subimage trong sprite chúng tôi không thực sự quan tâm về điều này, nhưng nếu một sprite gồm nhiều subimages bạn có thể chỉ ra ở đây subimage bạn muốn nhìn thấy). Để đảm bảo rằng bảng điều khiển phía dưới nằm trên mọi thứ khác chúng tôi cung cấp cho các đối tượng controller_life độ sâu -10000.

    Trong sự kiện sáng tạo của mình, các đối tượng controller_life đặt số 0, số lượng cuộc sống đến 3, và sức khỏe đến 100. Có hành động cho điều này trong tab Điểm. Để vẽ các điểm chúng tôi sử dụng các hành động thích hợp trong tab Điểm. (Chúng tôi lần đầu tiên thiết lập bản vẽ màu có màu vàng). Trong các hành động để rút ra những điểm số, chúng ta điền những thông số như sau (không có chú thích vì chú thích là đã có trên nền):


    [​IMG]


    Đối với bản vẽ cuộc sống chúng ta sử dụng một cơ chế khác nhau. Thay vì chỉ vẽ số chúng ta sẽ vẽ một số hình ảnh nhỏ của máy bay. Đối với điều này, chúng tôi sẽ sử dụng một ma nhỏ miêu tả chiếc máy bay. Có một hành động cho điều này trong tab Điểm.

    [​IMG]


    Như bây giờ chúng tôi cho thấy số điểm và số lượng cuộc sống bản thân chúng tôi không còn muốn chúng hiển thị trong các chú thích cửa sổ. Có một hành động trong các tab Điểm để chỉ những gì cần phải được thể hiện trong các chú thích cửa sổ. Đặt điều này trong các sự kiện tạo ra các đối tượng và chỉ ra rằng không có gì nên được hiển thị. Ngoài ra đối với bản vẽ sức khỏe có một hành động đặc biệt. Sức khỏe được hiển thị dưới dạng một thanh sức khỏe. Bạn có thể chỉ ra vị trí, kích thước và màu sắc được sử dụng. Chúng tôi điền vào các thông số như sau:

    [​IMG]



    Tổng hợp bản vẽ trông giống như sau:



    [​IMG]


    Nhưng chúng tôi vẫn cần phải thực sự kiểm tra đối với sức khỏe và cuộc sống. Trước hết chúng ta phải thực hiện một số thay đổi trong trường hợp va chạm của máy bay địch và máy bay chính. Nó sẽ không còn tiêu diệt các máy bay chính, nhưng chỉ tiêu diệt chính nó (biến nó thành một vụ nổ) và giảm sức khỏe, đó là, thiết lập sức khỏe tương đối so với -30 (vì vậy nó có thể chịu được 3 hit).


    Các đối tượng controller_life sẽ kiểm tra khi sức khỏe trở nên nhỏ hơn 0. Có một sự kiện cho điều này trong các sự kiện khác. Trong sự kiện này, chúng tôi nổ tung chiếc máy bay chính bằng cách biến nó thành một vụ nổ lớn. Chúng tôi cũng thiết lập lại sức khỏe và sự phát âm thanh chính xác. Vì vậy, sự kiện này sẽ như thế này:

    [​IMG]


    Trong các đối tượng nổ máy nghe nhạc lớn, trong Animation End của nó, nó sẽ hủy diệt chính nó, sau đó tạo ra một chiếc máy bay cầu thủ mới ở vị trí hiện tại (có nghĩa là, tương đối ở vị trí (0,0)) và làm giảm số lượng của cuộc sống, đó là, đặt nó liên quan đến -1.


    Cuối cùng, chúng ta cần phải kiểm tra xem chúng tôi đã chạy ra khỏi cuộc sống. May mắn thay, có một lần nữa là một sự kiện cho điều này. Đối với các đối tượng controller_life, trong sự kiện này, chúng tôi hiển thị thông báo và khởi động lại game. Điều này hoàn thành phiên bản thứ ba của trò chơi. Bây giờ bạn có thể chơi nó và nó đã có vẻ khá tốt. Nhưng trò chơi nhanh chóng trở nên nhàm chán. Vì vậy, chúng ta phải tăng cường nó hơn một chút và thêm một số biến thể
  12. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 10 / 13
    More Enemies
    Trong phần này chúng tôi sẽ bổ sung thêm ba loại mới của máy bay đối phương để trò chơi của chúng tôi. Một sẽ bắn đạn thẳng xuống. Chiếc máy bay thứ hai sẽ bắn đạn về phía mặt phẳng chính. Loại thứ ba sẽ không bắn đạn nhưng xuất phát từ dưới đáy của căn phòng và là khó khăn hơn để tránh hoặc bắn. Chúng tôi sẽ làm cho họ xuất hiện ở giai đoạn sau trong khi chơi game.


    Để tạo ra kiểu mới đầu tiên của máy bay địch, chúng tôi phải làm một ma mới cho nó, tương tự như các sprite cho kẻ thù đầu tiên nhưng với một màu sắc khác nhau. Thứ hai, chúng tôi cần một đối tượng mới cho nó. Do đối tượng sẽ hành xử gần như giống như các máy bay địch đầu tiên chúng tôi thực hiện một bản sao của đối tượng này (nhấp chuột phải vào nó và chọn Duplicate). Double-click vào các đối tượng trùng lặp mới để thay đổi nó. Cung cấp cho nó một cái tên mới và thiết lập các sprite chính xác. Bởi vì đây là một chiếc máy bay đặc biệt hơn nữa người chơi sẽ nhận được một điểm số cao hơn khi chụp hình nó. Vì vậy, trong trường hợp va chạm với viên đạn chúng ta thay đổi số điểm 10.

    Đối với các máy bay địch để bắn, chúng ta cần một sprite đạn và một đối tượng đạn. Đối tượng này, trong sự kiện sáng tạo của nó, được một tốc độ thẳng đứng xuống dưới. Trong sự kiện của chúng tôi một lần nữa bước chăm sóc mà các đối tượng bị phá hủy khi nó di chuyển ra khỏi căn phòng ở phía dưới. Trong sự kiện va chạm của viên đạn này với các máy bay chính của chúng tôi đặt tương đối sức khỏe đến -5, phá hủy các viên đạn, và chơi một âm thanh.

    Bây giờ chúng ta phải làm cho đối phương đạn bắn máy bay theo thời gian. Chúng tôi làm điều này trong các sự kiện bước của máy bay. Chúng tôi sử dụng các hành động để ném một con xúc xắc và như tham số chúng ta đặt 30. Điều này có nghĩa rằng các hành động tiếp theo được thực hiện trung bình mỗi 30 bước một lần. Trong hành động tiếp theo này, chúng tôi tạo ra những viên đạn của đối phương.

    Cuối cùng chúng tôi phải chắc chắn rằng tại một số giai đoạn máy bay địch thứ hai bắt đầu xuất hiện. Đối với điều này, chúng tôi sử dụng các đối tượng controller_enemy một lần nữa. Trong sự kiện sáng tạo, chúng tôi đặt báo thức 1 với giá trị 1000. Trong sự kiện báo động này, chúng tôi tạo ra các máy bay địch thứ hai và đặt báo động 1 lần nữa để 500 để tạo ra một máy bay khác một chút sau đó. Vì vậy, các máy bay đầu tiên của loại hình này sẽ xuất hiện sau khoảng 30 giây và một trong những phụ xuất hiện khoảng mỗi 15 giây.

    Đối với loại hình tiếp theo của máy bay địch, chúng tôi một lần nữa cần một sprite mới và chúng tôi cần một viên đạn ma mới. Chúng tôi làm cho một bản sao của đối tượng máy bay địch thứ hai, và như trên, trong trường hợp va chạm với viên đạn bình thường chúng ta thay đổi số điểm để tăng nó lên 20.

    Chúng tôi cũng tạo ra một đối tượng kẻ thù viên đạn thứ hai. Chiếc máy bay của đối phương tạo ra loại hình mới này của viên đạn trong sự kiện bước của nó. Một lần nữa chúng tôi sử dụng các hành động xúc xắc nhưng bây giờ chúng tôi chỉ tạo ra một viên đạn một lần mỗi 80 bước, bởi vì loại mới của chúng tôi là một viên đạn rất nhiều khó khăn hơn để tránh.

    Các kiểu mới của viên đạn hoạt động như sau. Trong sự kiện sáng tạo của nó, chúng tôi sử dụng các hành động để tiến đến một vị trí. Nhưng những gì vị trí chúng ta nên sử dụng? Vâng, chúng tôi muốn bắn về phía vị trí của mặt phẳng chính. Vì vậy, chúng tôi muốn biết x và y vị trí của đối tượng dụ này.

    Điều này có thể đạt được dễ dàng trong GameMaker. Để có được giá trị của một biến trong một trường hợp khác, chúng tôi đứng trước tên biến với tên của các đối tượng. Vì vậy, chúng tôi sử dụng obj_myplane.x để chỉ giá trị của tọa độ x của máy bay. Khi có nhiều trường hợp của đối tượng này, chúng ta có được giá trị của các biến trong các trường hợp đầu tiên.

    Khi không có thể hiện của các đối tượng, chúng tôi sẽ nhận được một thông báo lỗi. Đây có thể là một vấn đề cho trò chơi của chúng tôi bởi vì khi chiếc máy bay bị phá hủy có tạm thời là không có máy bay. Vì vậy, chúng ta nên đầu tiên kiểm tra xem các máy bay là có. Có một hành động mà có thể đếm số lượng các trường hợp của một đối tượng cụ thể. Chúng tôi sử dụng để kiểm tra xem các máy bay chính là sẵn có, và nếu như vậy, chỉ đạo viên đạn về phía máy bay. Nếu không thì đạn sẽ đi xuống dưới. Vì vậy, các sự kiện tạo sẽ xem xét như sau:

    [​IMG]

    Các hành động để tiến tới một điểm bây giờ có các thông số sau:

    [​IMG]

    Một thay đổi khác là cần thiết. Khi viên đạn có thể bay theo hướng nào đó là một chút khó khăn hơn để kiểm tra trong trường hợp bước dù đạn nằm bên ngoài phòng. Nhưng trên thực tế, có một sự kiện đặc biệt này: các sự kiện bên ngoài. Trong sự kiện này, chúng ta chỉ cần đặt một hành động để phá hủy các đối tượng.

    Cuối cùng, chúng ta phải xử lý việc tạo ra các loại mới của máy bay địch. Như đã chỉ ra trước khi chúng tôi sử dụng các đối tượng controller_enemy cho việc này. Trong sự kiện sáng tạo, chúng tôi thiết lập báo động 2 đến năm 2000. Trong sự kiện báo động này, chúng tôi tạo ra các loại mới của máy bay đối phương và đặt báo động 2 một lần nữa đến 1000 để tạo một số khác sau nhé.

    Điều này kết thúc việc bổ sung thêm các loại thứ ba của chúng ta về máy bay. Nó vẫn còn để thêm các máy bay mà đến từ bên dưới. Điều này được thực hiện trong cách chính xác giống như các máy bay địch đầu tiên, ngoại trừ máy bay bắt đầu dưới phòng và di chuyển lên trên thay vì xuống dưới. Các đối tượng controller_enemy lại tạo ra chúng, lần này sử dụng báo động 3. Bạn nên bây giờ hiểu làm thế nào để làm điều này, nhưng bạn cũng có thể tìm trong các trò chơi.

    Điều này kết thúc phiên bản thứ tư của năm 1945. Nó đã trở thành một trò chơi có thể chơi được rằng sẽ khó khăn hơn tất cả các thời gian. Có thực sự là một niềm vui trong việc chơi nó và cố gắng để đạt được số điểm cao nhất
  13. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 11 / 13
    Kết thúc The Game
    Chúng tôi đã tạo ra được một game bắn súng di chuyển với máy bay đối phương khác nhau. Nó đã trở thành một trò chơi có thể chơi được rằng sẽ khó khăn hơn tất cả các thời gian. Có thực sự là một niềm vui trong việc chơi nó và cố gắng để đạt được số điểm cao nhất. Tuy nhiên, để biến nó thành một trò chơi thực sự một vài lo mọi việc vẫn được yêu cầu. Chúng tôi cần một số nhạc nền, hình ảnh tải, một biểu tượng tốt hơn, vv

    Tôi cũng đặt một sự chậm trễ trong máy bay để xuất hiện trở lại khi bắn, làm cho nó thú vị hơn cho các cầu thủ để thử và bắn máy bay, chứ không phải chỉ đơn giản là tránh chúng. Cuối cùng có một tiền thưởng lửa đặc biệt khi người chơi đạt số điểm là 400 và một khi ông đạt đến 1000 điểm.

    Bạn có thể sử dụng trò chơi này là cơ sở để mở rộng hơn nữa. Dưới đây là một số ý tưởng về những gì bạn có thể thêm vào. Nó là khá phổ biến trong cuộn trò chơi bắn súng để tìm thấy sức mạnh-up mà cung cấp cho sức mạnh người chơi thêm lửa, sửa chữa những thiệt hại, cung cấp cho các điểm phụ, cung cấp cho một máy bay thêm, vv Chẳng hạn điện-up có thể xuất hiện khi người chơi bắn máy bay hoặc họ chỉ đơn giản là có thể gặp phải trong quá trình bay.

    Ngoài ra bạn có thể tạo ra các loại phụ của máy bay đối phương, ví dụ, máy bay bay từ bên hoặc bắn tên lửa mạnh hơn. Tôi để lại nó cho bạn làm việc trên những điều này và làm cho game bắn súng di chuyển của riêng bạn.

    Bạn có thể tìm thấy một bộ sưu tập các sprites 1945 liên quan, tạo ra bởi Ari Feldman, như một tập tin .bmp trong thư mục Resources trong thư mục của hướng dẫn này. Để có được các sprites cá nhân ra của tập tin này, tạo một sprite, bấm vào nút Edit Sprite, chọn Create từ Strip trong File menu, và chọn hình ảnh (s) mà bạn muốn. Xem tài liệu để biết thêm thông tin.
  14. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 12 / 13
    Sử dụng các mốc thời gian Using TimeLines

    Trong phần này và phần tiếp theo chúng ta sẽ thảo luận về hai tính năng nữa của GameMaker mà rất hữu ích khi tạo shooters di chuyển phức tạp hơn: dòng thời gian và quan điểm.

    Trong trò chơi, chúng tôi tạo ra cho đến nay, sự xuất hiện của kẻ thù đã được kiểm soát bởi các đối tượng controller_enemy mà theo thời gian thêm một máy bay đối phương để chơi. Ngoài ra, máy bay địch mà không bao giờ bị phá hủy. Họ chỉ xuất hiện trở lại. Kết quả là một trò chơi mà đã ngày càng khó khăn hơn vì số lượng máy bay đã lớn hơn và lớn hơn.

    Mặc dù điều này cho phép chơi game hợp lý nó có một số vấn đề. Trước hết, những chiếc máy bay xuất hiện tại các vị trí ngẫu nhiên mà các nhà thiết kế trò chơi không thể kiểm soát. Kết quả là chiếc máy bay có thể kết thúc trên đầu trang của mỗi khác hoặc rất gần với ranh giới mà không phải là rất hấp dẫn. Ngoài ra, có chút bất ngờ trong game. Kẻ thù chỉ đến với bạn theo những cách ngẫu nhiên và có rất ít khác người chơi có thể làm hơn là chỉ bắn tất cả các thời gian và tránh chúng.

    Để nhận được nhiều trò chơi thú chơi nhà thiết kế trò chơi nên có quyền kiểm soát hơn đối với việc chiếc máy bay xuất hiện ở đâu từ lúc nào. Điều này cho phép bạn tạo ra các máy bay địch mà đi trong sự hình thành, để tạo ra những thách thức nhất định (giống như một nhóm lớn của kẻ thù đơn giản mà chủ yếu nên tránh hoặc một vài kẻ thù nguy hiểm có tốt hơn được bắn) và biến thể.

    Ngoài ra nó sẽ cho phép người chơi để tìm hiểu làm thế nào để chơi các trò chơi bởi vì ông có thể nhớ những điều hữu ích từ lượt trước. Tất cả trò chơi tốt kiểm soát những kẻ thù chứ không phải chính xác vì những lý do nêu trên. Đơn giản chỉ cần đặt, nó kết quả trong chơi trò chơi thú vị hơn.

    Vì vậy, chúng tôi muốn kiểm soát tốt hơn sự xuất hiện của kẻ thù nhất định. Để kết thúc này, chúng tôi sẽ sử dụng các nguồn lực dòng thời gian. Nhưng trước hết chúng ta phải thực hiện một số thay đổi nhỏ cho trò chơi. Đối với tất cả các máy bay đối phương, chúng tôi không còn làm cho chúng xuất hiện trở lại khi bị bắn hoặc rời khỏi màn hình. Chúng tôi chỉ đơn giản là tiêu diệt chúng. Vì vậy, khi một chiếc máy bay đã biến mất nó đã biến mất mãi mãi. Dòng thời gian sẽ kiểm soát việc tạo ra các kẻ thù.

    Một nguồn dòng thời gian trên toàn cầu hoạt động như sau. Trong đó bạn chỉ định một số khoảnh khắc của thời gian (đo trong các bước của trò chơi) và cho từng thời điểm như vậy bạn có thể chỉ ra những hành động đó phải được thực hiện tại thời điểm đó cụ. Bởi vì chúng ta sẽ sử dụng dòng thời gian cho các máy bay đối phương, chúng tôi sẽ chỉ sử dụng các hành động để tạo ra máy bay đối phương nhưng nói chung bạn có thể sử dụng bất kỳ hành động mà bạn muốn.

    Vì vậy, chúng ta hãy tạo ra một dòng thời gian của chúng tôi. Chọn Thêm dòng thời gian từ menu Add. Một mẫu sẽ xuất hiện trông một phần tương tự như các hình thức đối tượng. Ở bên trái, bạn có thể chỉ ra tên của dòng thời gian và có nút để thêm, xóa và thao tác những khoảnh khắc thời gian.

    Ở giữa bạn thấy danh sách của những khoảnh khắc được xác định. Tiếp theo trong danh sách này có danh sách các hành động cho thời điểm hiện đang được chọn và ở bên phải có các trang web theo thẻ mà từ đó bạn có thể chọn các hành động.

    Tại thời điểm 0, chúng tôi muốn tạo ra một chiếc máy bay của đối phương. Vì vậy, hãy nhấp vào nút Add. Như lúc này chỉ ra các giá trị 0. Thời điểm được thêm vào danh sách. Bây giờ bạn có thể kéo hành động vào danh sách hành động. Chúng ta cần chỉ là một hành động để tạo ra một chiếc máy bay của đối phương ở nơi thích hợp.

    Vì nó mất khoảng 100 bước cho một chiếc máy bay của đối phương để đi qua căn phòng, chúng tôi thêm một chút thời gian thứ hai ở bước 100. Ở đây chúng ta tạo ra hai máy bay đối phương bên cạnh nhau. Bằng cách này, chúng ta tiếp tục. Chúng tôi thêm những khoảnh khắc và thêm các hành động sáng tạo cho máy bay địch. Bằng cách tạo ra những chiếc máy bay ở độ cao khác nhau trên phòng chúng tôi có thể tạo hình đẹp. Vì vậy, sau khi thêm một số khoảnh khắc biểu mẫu sẽ trông như sau:

    ht[img]http://i.imgur.com/DNcKHUI.png

    Tại thời điểm chỉ 400 chúng tôi tạo ra một hàng 9 máy bay đối phương, hai trong số đó đang bắn đạn (obj_enemy2). Bạn nên bây giờ có được ý tưởng. Chỉ cần tiếp tục bổ sung thêm những khoảnh khắc với nhiều hơn và nguy hiểm hơn chiếc máy bay trong đội hình thú vị và có thể đưa những khoảnh khắc gần nhau hơn.

    Nó sẽ mất một chút công việc để tạo ra một trình tự hoàn chỉnh của những khoảnh khắc tạo nên một mức độ tốt đẹp của các trò chơi. Trong một trò chơi đầy đủ, bạn sẽ sử dụng dòng thời gian khác nhau cho các mức độ khác nhau.

    Vào cuối của chuỗi bạn cần phải thêm một thời điểm kết thúc các cấp hoặc các trò chơi. Ở đây bạn có thể sẽ hiển thị một thông điệp rằng bạn đã hoàn thành các cấp độ, hoặc tốt hơn, có một số thứ tự kết thúc tốt đẹp, như một tàu sân bay xuất hiện trên vùng đất mà máy bay của bạn.

    Chúng tôi vẫn chưa xong. Một dòng thời gian không tự động thực thi các hành động! Bạn phải chỉ định một dòng thời gian để một đối tượng và sau đó hành động của dòng thời gian sẽ được thực hiện cho đối tượng đó. Có hai hành động đặc biệt cho việc này; một để thiết lập thời gian biểu cho một đối tượng và một một giây để thiết lập vị trí trong dòng thời gian. Chúng tôi sử dụng các đối tượng controller_enemy một lần nữa.

    Nó chỉ cần một hành động trong sự kiện sáng tạo của nó đã tạo ra những dòng thời gian thích hợp. Chúng tôi muốn nó bắt đầu ngay tại vị trí 0 và chúng tôi không muốn nó lặp, do đó bạn không cần phải thay đổi bất kỳ của các tài sản khác.

    [img]http://i.imgur.com/UnQ4Kx2.png

    Đây là tất cả. Như bạn sẽ thấy, sử dụng các dòng thời gian là làm việc nhiều hơn một chút bởi vì bạn cần phải xác định tất cả các máy bay địch xuất hiện nhưng nó mang lại rất nhiều tính linh hoạt và làm cho các trò chơi rất nhiều chi tiết thú vị. Có rất nhiều điều bạn có thể làm với dòng thời gian.

    Ở đây chúng ta sử dụng chúng để kiểm soát dòng chảy toàn cầu của trò chơi nhưng bạn cũng có thể sử dụng chúng để kiểm soát hành vi của các đối tượng trò chơi theo thời gian. Ngoài ra còn có rất nhiều thủ thuật, bạn có thể sử dụng. Ví dụ, để ngăn chặn một dòng thời gian trong một thời gian, thêm một chút thời gian mà trong đó bạn kiểm tra một số điều kiện, và nếu như vậy, thiết lập thời gian vị trí đường tương đối so với -1, nghĩa là, trong các bước tiếp theo cùng một thời điểm đang diễn ra và các điều kiện được kiểm tra một lần nữa.

    Vì vậy, dòng thời gian sẽ không tiến triển cho đến khi điều kiện là sai. (Ngoài ra còn là một hành động để tạm dừng một thời gian.) Instances cũng có thể thay đổi dòng thời gian dựa trên các sự kiện nhất định, vv Ngoài ra bạn có thể kiểm soát tốc độ của một dòng thời gian. Vì vậy, dòng thời gian hình thành một nguồn lực mạnh mẽ.
  15. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Hướng dẫn Game máy bay
    Trang 13 / 13
    A Room With A View

    Đến nay chúng tôi bị lừa người chơi trong ý nghĩa rằng chúng tôi đã không thực sự bay qua một thế giới trò chơi nhưng nền chỉ di chuyển. Điều này có một số bất lợi. Đặc biệt, nền không thể thay đổi một cách dễ dàng (ví dụ như nó là khó khăn để nửa đường bay qua đất. Ngoài ra, mặc dù bạn có thể sử dụng dòng thời gian, nó là khó khăn hơn để có những hành động khác nhau đảng xuất hiện độc đáo trải ra theo thời gian.

    Trong phần cuối này chúng tôi sẽ chỉ ra một thời gian ngắn một cách khác nhau của việc tạo ra một game bắn súng di chuyển. Trong cách tiếp cận này có một phòng lớn thông qua đó các máy bay thực sự di chuyển. Chúng tôi sử dụng một cái nhìn cái gọi là như vậy mà người chơi chỉ nhìn thấy một phần của phòng bất cứ lúc nào. Để đạt được điều này, một số thay đổi đối với các trò chơi được yêu cầu. Chúng tôi sẽ thảo luận ngắn gọn chúng ở đây.

    Hãy để chúng tôi đầu tiên tạo ra các phòng cơ bản. Chúng tôi tạo cho căn phòng có chiều rộng 640 như trước đây nhưng bây giờ chúng tôi cung cấp cho nó một chiều cao của 4800. Những hình ảnh nền chúng ta không còn cung cấp cho một tốc độ. Chúng tôi đặt các đảo ở những nơi khác nhau trong phòng. Các đối tượng đảo không còn cần một tốc độ và chúng tôi cũng có thể loại bỏ các sự kiện bước.

    Bây giờ họ là đối tượng hoàn toàn tĩnh. Chiếc máy bay chúng tôi đặt ở dưới cùng của căn phòng và chúng tôi cung cấp cho các máy bay, trong sự kiện sáng tạo của nó, tốc độ thẳng đứng của -2 để đảm bảo rằng nó bay với một số tốc độ nếu người sử dụng không có gì. Cuối cùng chúng tôi xác định xem. Để kết thúc này, click vào tab đọc trong các hình thức phòng. Chỉ ra rằng chúng ta muốn để cho phép xem.

    Xác định điểm đầu và làm cho nó có thể nhìn thấy ở đầu. Như một vị trí hàng đầu, chỉ ra 4320, có nghĩa là, quan điểm sẽ nằm ở dưới cùng của căn phòng. Vì vậy, nó trông giống như sau:

    [​IMG]

    Chúng ta phải đảm bảo rằng quan điểm di chuyển với tốc độ không đổi. Để kết thúc này, chúng tôi (mis) sử dụng các sự kiện bước của đối tượng điều khiển cuộc sống. Trong đó chúng ta thêm các hành động để thiết lập một biến và thiết lập biến view_yview so với -2. View_yview biến chỉ ra vị trí trên cùng của giao diện đầu tiên trong phòng. (Khi có nhiều quan điểm, bạn nên sử dụng view_yview [0].)

    Vì vậy, trong mỗi bước vị trí của các điểm di chuyển 2 pixels trở lên tạo ra những di chuyển. Có rất nhiều yếu tố khác liên quan đến quan điểm nhưng chúng tôi sẽ không cần chúng ở đây. Chúng ta cũng nên kiểm tra xem view_yview là lớn hơn 0. Nếu nó trở thành 0 điểm đã lên đến đỉnh và chúng ta nên dừng cuộc chơi.

    Lưu ý rằng, đối với các máy bay chính chúng tôi muốn tránh mà người chơi có thể di chuyển máy bay ra khỏi tầm nhìn. Để kết thúc này, chúng tôi kiểm tra xem vị trí của các máy bay không phải là quá cao hoặc quá cao xuống. Bây giờ chúng ta phải sử dụng các view_yview biến trong những so sánh này để đảm bảo rằng các máy bay chỉ nằm trong view.

    Chúng tôi có một vấn đề tương tự với vị trí của các bảng thông tin, và các thanh sức khỏe, vv Chúng tôi đã đặt chúng ở dưới cùng của căn phòng, nhưng bây giờ chúng ta phải vẽ chúng vào đúng vị trí tương đối với view_yview để đảm bảo rằng họ ở lại tầm nhìn.

    Đối với những viên đạn mà chiếc máy bay bắn chúng ta phải tăng tốc độ một chút để bù đắp cho việc xem cảm động. Ngoài ra chúng tôi phải tiêu diệt nó khi nó di chuyển ra khỏi tầm nhìn.

    Nó vẫn còn để xử lý các máy bay đối phương. Chúng tôi không còn sử dụng một dòng thời gian hoặc đối tượng điều khiển. Chúng tôi sẽ đặt tất cả máy bay địch đã ở trong phòng, nhưng chúng tôi sẽ không cho phép chúng di chuyển cho đến khi chúng trở nên hữu hình. Vì vậy, chúng tôi không thiết lập tốc độ ban đầu của họ và trong các sự kiện bước đầu tiên chúng ta kiểm tra xem họ đang ở trong tầm nhìn. Nếu vậy, chúng tôi cho phép chúng di chuyển. Ngoài ra, chúng tôi sẽ chỉ cho họ bắn nếu họ đang có trong chế độ xem. Ví dụ, với máy bay địch thứ ba sự kiện bước trông như sau:

    [​IMG]

    Lưu ý rằng chúng ta nên sử dụng tốc độ thẳng đứng nhỏ hơn trước. Cả hai cho các máy bay đối phương và cho các viên đạn chúng ta cũng nên thay đổi các điều kiện khi họ phải bị tiêu diệt.

    Một trong những phức tạp nhất là máy bay địch 4. Nó phải đến từ phía sau. Bí quyết là như sau. Chúng tôi một lần nữa đặt nó trong phòng từ đầu nhưng chúng tôi làm cho nó vô hình. Ngoài ra, miễn là nó là vô hình, chúng tôi không để cho nó phản ứng với các va chạm với viên đạn hoặc các mặt phẳng chính. Khi nó nằm dưới quan điểm chúng tôi làm cho nó nhìn thấy và để cho nó di chuyển (với tốc độ lớn hơn). Xem các trò chơi ví dụ về cách thức này là đạt được.

    Bây giờ nó là thời gian để xây dựng phòng. Chúng tôi đặt bộ máy bay đối phương khác nhau tại các địa điểm chiến lược ở các cấp độ. Một lần nữa nó rất dễ dàng bây giờ để tạo hình và những thách thức đẹp.

    Như bạn có thể thấy, sử dụng xem bạn có thể tạo shooters di chuyển rất thú vị với tương đối ít công việc. Rõ ràng các trò chơi cần phải làm việc nhiều hơn nữa. Đó là trong một nghĩa nào đó vẫn còn quá dễ dàng để kết thúc và nó chắc chắn là quá ngắn. Ngoài ra, một số ông chủ đẹp ở cuối sẽ là tuyệt vời. Chỉ cần sử dụng nó như là một bước đầu tiên và xây dựng từ đó.
  16. ta duy hung

    ta duy hung Member

    Tham gia ngày:
    2/6/15
    Bài viết:
    33
    Đã được thích:
    3
    Tạm thời kết thúc Bài 1. Để mai minh up tiếp bản thứ 2. Ad có cách nào dạy mình Up nhanh với chứ cách mình đang dùng hơi mất thời gian

Chia sẻ trang này