-->

  • Learning Construct 2 - Chương 4 - Phần 2




    Bài 4. Thêm các khối


    Bây giờ đã đến lúc ta thêm các khối vào trò chơi. Trước khi thêm các khối, cần phải nhớ rằng chúng có những đặc điểm như sau:
    • Bạn sẽ nhận điểm khi chúng bị phá hủy.
    • Chúng sẽ bị hủy nếu va chạm với quả bóng.
    • Một vài khối có hiệu ứng đặc biệt khi bị hủy.
    Chúng ta phải ghi nhớ những điều này khi tạo các khối. Có rất nhiều hình dạng khối mà ta có thể sử dụng trong asset (tải ở www.construct2vn.ga), nhưng để đơn giản, ta sẽ sử dụng hình dạng chữ nhật. Ta sẽ phân loại chúng dựa trên màu sắc của chúng:


    • Khối xanh dương là khối bình thường, không có hiệu ứng đặc biệt, biến mất sau 1 lần va chạm.
    • Khối màu tím thì cần 2 lần va chạm và cũng không có hiệu ứng đặc biệt.
    • Khối xanh lá cây sẽ bị hủy sau 1 lần chạm nhưng sẽ được thêm điểm.
    • Khối màu đỏ bị phá hủy sau 1 lần chạm và cho thêm sinh mạng.
    • Các khối màu vàng giúp tăng giới hạn thời gian.


    Hãy thêm các khối vào layout của chúng ta, chèn một sprite object mới cùng với những khối và tên của nó. Trong cửa sổ chỉnh sửa hình ảnh, tải một sprite hình chữ nhật màu xanh. Chúng ta cũng tải các màu khác vào object này để dễ dàng thiết lập chúng và có thể thay đổi chúng khi game đang chạy thử. Chúng ta có thể làm điều này bằng cách thêm những hoạt ảnh mới cho object này.

    Kích chuột phải vào cửa sổ Animations và lựa chọn Add Animations để thêm hoạt ảnh mới, đổi tên của nó thành purple và cho hình ảnh hình chữ nhật màu tím vào hoạt ảnh này. Hãy đảm bảo rằng bạn kích vào hoạt ảnh này đầu tiên trước khi thêm một hình ảnh vào nó vì C2 luôn lựa chọn tự động mặc định hoạt ảnh khi bạn thêm những hoạt ảnh mới. Lặp lại điều này với các màu khác cho đến khi bạn có đủ các yêu cầu về hoạt ảnh.


    Đóng cửa sổ chỉnh sửa hình ảnh và ta đã có đủ object khối trên layout của chúng ta. Tiếp theo chúng ta sẽ thêm 3 instance variables (biến thực thể) để thể hiện những đặc tính của object này:
    • Đầu tiên, thêm một instance variable tên là score với giá trị mặc định là 100, nó sẽ thêm điểm mỗi lần khối bị phá vỡ.
    • Thứ hai, thêm health instance variable với giá trị mặc định là 1, cái này miêu tả cần va chạm bao nhiêu lần với quả bóng thì khối sẽ bị hủy.
    • Cuối cùng, thêm effect instance variable và để giá trị ban đầu là 0, chúng ta sẽ thao tác cái này sau khi ta thêm những hiệu ứng đặc biệt vào khi khối bị phá vỡ.

    1. Phá hủy các khối

    Bạn có thể cảm thấy ban đầu hơi khó khăn, nhưng đừng lo, tôi sẽ giải thích một cách dễ hiểu nhất. Bây giờ ta sẽ dùng biến thực thể để xác định xem khối nào cần phá hủy. Nhưng trước tiên hãy đặt các khối vào vị trí trong layout như sau:


    Trước tiên chúng ta sẽ khiến các khối va chạm với quả bóng và phá hủy chúng. Giống như areaBorder object, chúng ta sẽ thêm hành vi Solid vào các khối. Điều này sẽ khiến quả bóng đập vào các khối, nhưng sẽ không tiêu diệt chúng. Để phá hủy chúng, chúng ta sẽ trừ sinh mạng của chúng đi sau mỗi lần va chạm, sau đó ta sẽ kiểm tra xem sinh mạng của nó về 0; nếu như thế, ta sẽ phá hủy chúng. Dịch nhưng cái này sang dang code, bạn có có 2 dòng code mới. Đầu tiên là:


    Thứ hai là :


    Nếu bạn test thử bây giờ, bạn sẽ thấy gameplay cơ bản của trò chơi, bạn có thể di chuyển tấm ván để đẩy quả bóng và phá hủy các khối.



    WAITING FOR LUV
    Bạn có muốn cải thiện khả năng thiết kế đồ họa của mình? Chắc hẳn các bạn cũng biết, nếu các dòng code là linh hồn của một trò chơi, thì đồ họa chính là bộ mặt của trò chơi đó. Đồ họa đẹp, dễ nhìn sẽ khiến trò chơi của bạn tăng tỉ lệ hấp dẫn người xem đến 90%. Hiện tại có hai công cụ hỗ trợ thiết kế đồ họa game tiện nhất mà mình biết, đó là Photoshop và Illustrator. Mình sẽ cố gắng tìm kiếm và chia sẻ các đồ họa game miễn phí cho các bạn tại blog này; tuy nhiên, một trò chơi mà 100% do chính mình tạo ra vẫn hơn là đi cóp nhặt hình ảnh từ nơi khác đúng không nào. Tiện đây, mình có chia sẻ một khóa học thiết kế đồ họa Game 2D cho Mobile. Các bạn có thể tham khảo dưới đây để được giảm 40% học phí nhé.


    2. Thiết lập các khối đặc biệt

    Bây giờ, chúng ta sẽ thiết lập các khối đặc biệt ở cấp độ đầu. Có hai cách để làm điều này: để nó ngẫu nhiên hoặc xác định nó bằng tay. CHúng ta sẽ làm điều này bằng tay vì trò chơi này dựa trên cấp độ. Để làm điều này, trước hết chúng ta thêm một biến thực thể vào các khối gọi là blockColor và để lại giá trị ban đầu là rỗng. Chúng ta sẽ sử dụng biến thực thể để xác định khối này thuộc loại gì.

    Sau khi thêm biến thực thể này, hãy đóng cửa sổ biến thực thể và lựa chọn những khối mà bạn muốn đổi màu. Sau đó ở thanh Properties, thay đổi giá trị của blockColor sang màu mà bạn muốn. Màu phải là một trong những hoạt ảnh mà ta đã thiết lập trước đó và khi bạn thiết lập biến Text trong thanh Properties, bạn không cần phải gõ kí hiệu chỉ dẫn. Nếu bạn thiết lập khối màu tím, đừng quên thay đổi sinh mạng của nó, nó cần 2 lần va chạm để phá hủy.


    Tuy nhiên, mặc dù chúng ta đã thay đổi biến thực thể, nhưng không có nghĩa là những hoạt ảnh của khối sẽ thay đổi ngay lập tức. Chúng ta cần thêm cái gì đó vào event sheet. Chúng ta cần game kiểm tra biến thực thể khi bắt đầu vào game và thay đổi hoạt ảnh của khối sang màu đó. Vì vậy, ta chỉ cần thêm:


    Bạn có nhận ra những khối với biến thực thể có giá trị rỗng lai là màu xanh nước biển không? Bởi vì khi C2 không tìm thấy một hoạt ảnh phù hợp, nó sẽ quay lại màu mặc định, là màu xanh nước biển.

    3. Viết biểu thức

    Ở trong code mà ta đã viết trước đó, chúng ta dùng một biểu thức để lấy giá trị của một biến thực thể. Một biểu thức là bất kì sự kết hợp toán học hợp pháp mà đại diện cho 1 giá trị. Tất cả object của C2 đều có biểu thức.

    Một trong những sự kết hợp toán học đó là biến, một biến thực thể đơn cũng được tính là một biểu thức. Ví dụ, bạn có thể lấy vị trí của một object từ giá trị x và y. Bạn cũng có thể thực hiện các phép toán trong một biểu thức, chẳng hạn như cộng, trừ, nhân, chia.

    Bài 5. Hiểu về biến không đổi

    Bây giờ, chúng ta sẽ bắt đầu thay đổi trạng thái của trò chơi. Chúng tôi sẽ làm điều này bằng cách sử dụng 2 loại biến: biến thực thể và biến toàn cục. Chúng ta sẽ phân biệt biến toàn cục sau khi kiểm tra sau với biến thực thể. Tuy nhiên, ta sẽ thay đổi biến toàn cục thành một loại biến đặc biệt: biến không đổi (constant variable).

    Vậy biến không đổi là gì? Đó là biến (toàn cầu hay địa phương) mà giá trị không thay đổi cho đến khi được khai báo. Cả biến văn bản hay kiểu số đều có thể trở thành biến ko đổi. Để tạo biến ko đổi, hãy lựa chọn hộp Constant khi tạo một biến toàn cầu mới. Các biến không đổi ở event sheet được chỉ ra theo tên của của nó, có thể viết hoa.

    Hãy thử ngay bây giờ, đi tới event sheet và tạo ra một vài biến cần thiết để tạo các hiệu ứng đặc biệt cho các khối. Như bạn nhớ, giá trị mặc định biến thực thể hiệu ứng của các khối là 0; chính vì vậy chúng ta sẽ tạo một giá trị bằng 0 khi khối không có hiệu ứng nào cả. Sau đó ta đặt các giá trị gia tăng cho các hiệu ứng đặc biệt khác, như trong ảnh chụp màn hình sau:


    Đây là những gì mà người chơi được thưởng khi phá hủy các khối. Chính vì vậy hãy thay đổi giá trị thuộc tính hiệu ứng của các khối trong layout. Cho giá trị 1 tới khối xanh lá, 2 tới khối màu đỏ, 3 tới khối màu vàng.

    Bài 6. Thêm các sự kiện phụ

    Bây giờ, ta đã gán giá trị cho thuộc tính hiệu ứng, ta có thể bắt đầu thêm các dòng code tới event sheet. Logic là nếu khối bị phá hủy, chúng ta sẽ kiểm tra biến thực thể effect của nó, nếu nó giống một trong những hiệu ứng biến ko đổi, chúng ta sẽ thay đổi giá trị của biến dựa vào hiệu ứng đó. Để làm một vài điều khi object bị phá hủy, ta sẽ sử dụng sự kiện On destroyed. Hãy thêm sự kiện On destroyed tới event sheet.

    Bây giờ, chúng ta muốn so sánh một giá trị của biến thực thể sau sự kiện On destroyed; điều này có nghĩa là ta sẽ tạo một sự kiện trong một sự kiện khác, chúng ta cần sub-event. Để tạo một sự kiện phụ, đầu tiên bạn cần chọn một sự kiện mà bạn muốn tạo sự kiện phụ và ấn nút S trên bàn phím, một cửa sổ mới sẽ mở ra. Ở đây bạn có thể lựa chọn một event mới cho sự kiện phụ. Tạo sự kiện phụ của bạn cho đến khi được như này:


    Không giới hạn sự kiện phụ trong một sự kiện, Bạn có thể tạo bao nhiêu sự kiện phụ tùy ý nhưng khuyến khích không nên vì nó sẽ khiến bạn rất dễ nhầm lẫn.

    Bây giờ, để khiến những khối này hoạt động, chúng ta cần thực hiện thêm 3 biến toàn cầu: score, lifegameTime. Về life gameTime, chúng ta muốn chúng tăng sau khi sửa số; life sẽ tăng lên 1 và gameTime sẽ tăng lên 10. Điênt thưởng dựa trên life và gameTime còn lại của người chơi, dòng code như sau:



    Chúng ta đã thêm thành công các hiệu ứng đặc biệt và thưởng thêm khi những khối bị phá hủy. Bây giờ, ta muốn thay đổi một số thứ về tấm ván khi các khối bị phá hủy.


    Bản dịch do construct2vn.ga thực hiện
    Ai sao chép hay chia sẻ hãy ghi nguồn và đưa link www.construct2vn.ga vào đầu bài chia sẻ nhé


  • DONATE TINH THẦN CHO BLOG TẠI ĐÂY

    Nếu các bạn thấy blog có ích hãy ủng hộ blog hàng ngày tại đây. Chỉ cần thi thoảng chơi game và tìm bug cho tụi mình là được. Đây là ủng hộ tinh thần, không phải tiền mặt, vật chất và không bắt buộc. Xin chân thành cảm ơn ahihi. Chúc các bạn một ngày zui zẻ.

    TELEPHONE

    02273 7x2 xxx
    02273 xxx 27x

    MOBILE

    0162 x15 xx33