Flash là một định dạng phổ biến cho các trò chơi điện tử trên trình duyệt, chẳng hạn như các trang web như Newgrounds và Kongregate. Mặc dù định dạng Flash có xu hướng không được tận dụng trong các ứng dụng di động, nhưng vẫn có nhiều trò chơi chất lượng tiếp tục được tạo ra bằng Flash. Flash sử dụng ActionScript, một ngôn ngữ dễ học và cung cấp khả năng kiểm soát các đối tượng trên màn hình. Xem Bước 1 bên dưới để tìm hiểu cách tạo một trò chơi Flash cơ bản.
Bươc chân
Phần 1/3: Bắt đầu
Bước 1. Thiết kế trò chơi
Trước khi bạn bắt đầu viết mã, hãy tạo một ý tưởng sơ bộ về trò chơi của bạn. Flash phù hợp nhất với các trò chơi đơn giản, vì vậy hãy tập trung vào việc tạo ra các trò chơi có rất ít cơ chế chơi. Xác định thể loại và cơ chế trò chơi trước khi bắt đầu nguyên mẫu. Các trò chơi flash phổ biến bao gồm:
- Endless runner: Trò chơi tự động di chuyển nhân vật. Người chơi phải nhảy qua các chướng ngại vật hoặc tương tác với trò chơi. Người chơi thường chỉ có một hoặc hai tùy chọn điều khiển.
- Máy bay chiến đấu: Trò chơi thường là cuộn bên. Người chơi phải đánh bại kẻ thù để tiến lên. Nhân vật người chơi có một số bước di chuyển để đánh bại kẻ thù.
- Câu đố: Người chơi phải giải các câu đố để đánh bại mỗi cấp độ. Bắt đầu từ phong cách tập hợp các đồ vật ba loại như Bejeweled, cho đến những câu đố phức tạp như game phiêu lưu.
- RPG: Trò chơi tập trung vào sự phát triển và tiến bộ của nhân vật. Người chơi di chuyển qua nhiều tình huống khác nhau cũng như nhiều loại kẻ thù khác nhau. Cơ chế chiến đấu rất khác nhau, nhưng nhiều loại trong số này là theo lượt. Game nhập vai khó viết mã hơn đáng kể so với các game hành động đơn giản.
Bước 2. Hiểu lợi thế của đèn flash là gì
Flash phù hợp nhất cho các trò chơi 2D. Flash có thể được tạo ra để tạo ra các trò chơi 3D, nhưng nó rất phức tạp và đòi hỏi nhiều kiến thức hơn. Hầu hết mọi trò chơi Flash thành công đều có định dạng 2D.
Trò chơi flash cũng phù hợp nhất cho các phiên nhanh. Điều này là do hầu hết người chơi chơi khi họ có ít thời gian rảnh, chẳng hạn như thời gian nghỉ giải lao, có nghĩa là các phiên chơi game thường dài tối đa 15 phút
Bước 3. Làm quen với ngôn ngữ ActionScript3 (AS3)
Trò chơi flash được lập trình trong AS3 và bạn sẽ cần phải có một số hiểu biết cơ bản về cách chúng hoạt động để thành công trong việc tạo trò chơi. Bạn có thể tạo các trò chơi đơn giản với hiểu biết cơ bản về mã trong AS3.
Có rất nhiều sách ActionScript có sẵn trên Amazon và các cửa hàng khác, cùng với nhiều hướng dẫn và diễn biến trên internet
Bước 4. Tải xuống Flash Professional
Chương trình này hơi đắt tiền, nhưng nó rất tốt để tạo các chương trình flash một cách nhanh chóng. Có một số tùy chọn chương trình khác, bao gồm cả các tùy chọn mã nguồn mở, nhưng chúng thường ít tương thích hơn hoặc mất nhiều thời gian hơn để hoàn thành cùng một tác vụ.
Flash Professional là chương trình duy nhất bạn cần để bắt đầu tạo trò chơi
Phần 2/3: Viết trò chơi cơ bản
Bước 1. Hiểu các khối xây dựng cơ bản của mã AS3
Trò chơi cơ bản có một số cấu trúc mã khác nhau. Có ba phần chính đối với mã AS3:
-
Biến - Đây là về cách dữ liệu được lưu trữ. Dữ liệu có thể là số, từ (chuỗi), đối tượng, v.v. Các biến được xác định bởi mã var và phải bao gồm một từ.
var playerHealth: Number = 100; // "var" chỉ ra rằng bạn đang định nghĩa một biến. // "playerHealth" là tên biến. // "Số" là kiểu dữ liệu. // "100" là giá trị được gán cho biến. // Tất cả các dòng chỉ định kết thúc bằng ";"
-
Trình xử lý sự kiện - trình xử lý sự kiện tìm kiếm những điều nhất định đã xảy ra, sau đó thông báo cho phần còn lại của chương trình. Điều này quan trọng đối với đầu vào của người chơi và mã lặp lại. Bộ xử lý sự kiện thường gọi các hàm.
addEventListener (MouseEvent. CLICK, swingSword); // "addEventListener ()" định nghĩa một trình xử lý sự kiện. // "MouseEvent" là danh mục đầu vào đang được lắng nghe. // ". CLICK" là một sự kiện được chỉ định trong danh mục MouseEvent. // "swingSword" là hàm được gọi khi sự kiện xảy ra.
-
Hàm - Một đoạn mã được gán cho một từ khóa và có thể được gọi sau. Các hàm xử lý hầu hết các chương trình trò chơi và một trò chơi phức tạp có thể có hàng trăm hàm. Các hàm có thể theo thứ tự bất kỳ vì chúng chỉ hoạt động khi chúng được gọi.
function swingSword (e: MouseEvent): void; {// Mã của bạn ở đây} // "function" là từ khóa xuất hiện ở đầu mỗi hàm. // "swingSword" là tên của hàm. // "e: MouseEvent" là một tham số được thêm vào, cho biết // rằng hàm đã được gọi từ trình nghe sự kiện. // ": void" là giá trị được trả về bởi hàm. // Nếu không có giá trị nào được trả về, hãy sử dụng: void.
Bước 2. Tạo một đối tượng
ActionScript được sử dụng để ảnh hưởng đến các đối tượng trong Flash. Để tạo một trò chơi, bạn phải tạo các đối tượng để người chơi tương tác. Tùy thuộc vào hướng dẫn bạn đọc, các đối tượng có thể được gọi là nhân vật, diễn viên hoặc phim. Đối với trò chơi đơn giản này, bạn sẽ tạo một hình chữ nhật.
- Mở Flash Professional. Tạo một dự án ActionScript 3 mới.
- Nhấp vào công cụ vẽ Hình chữ nhật từ bảng Công cụ. Bảng điều khiển này có thể ở một vị trí khác, tùy thuộc vào cấu hình Flash Professional. Vẽ một hình chữ nhật trong cửa sổ cảnh.
- Chọn hình chữ nhật bằng công cụ Selection.
Bước 3. Thiết lập các thuộc tính trên đối tượng
Chọn hình chữ nhật mới được chọn, chuyển đến menu Sửa đổi và chọn "Chuyển đổi thành biểu tượng". Bạn cũng có thể nhấn F8 làm phím tắt. Trong cửa sổ "Convert to Symbol", đặt tên cho đối tượng dễ nhận biết, ví dụ "kẻ thù".
- Định vị cửa sổ Thuộc tính. Ở đầu cửa sổ, sẽ có một trường văn bản trống có nhãn "Tên phiên bản" khi di chuột qua nó. Đặt tên cho nó giống như khi bạn biến nó thành một biểu tượng ("kẻ thù"). Điều này tạo ra một tên duy nhất để tương tác qua mã AS3.
- Mỗi "sự kiện" là một đối tượng riêng biệt có thể bị ảnh hưởng bởi mã. Bạn có thể sao chép các sự kiện đã được tạo nhiều lần bằng cách nhấp vào tab Thư viện và kéo chúng vào cảnh. Mỗi khi một sự kiện được thêm vào, tên của nó sẽ thay đổi để chỉ ra rằng đối tượng đó là riêng biệt ("kẻ thù", "kẻ thù1", "kẻ thù2", v.v.).
- Khi bạn tham chiếu đến một đối tượng trong mã, chỉ cần sử dụng tên của sự kiện, trong trường hợp này là "kẻ thù".
Bước 4. Tìm hiểu cách thay đổi các thuộc tính của một sự kiện
Sau khi sự kiện được tạo, bạn có thể đặt các thuộc tính của nó thông qua AS3. Điều này cho phép bạn di chuyển các đối tượng xung quanh, thay đổi kích thước của chúng, v.v. Bạn có thể tùy chỉnh một thuộc tính bằng cách nhập sự xuất hiện, theo sau là dấu chấm ".", Sau đó là thuộc tính, theo sau là giá trị:
- kẻ thù.x = 150; Điều này ảnh hưởng đến vị trí của các đối tượng đối phương trên trục X.
- địch.y = 150; Điều này ảnh hưởng đến vị trí của các đối tượng đối phương trên trục Y. Trục Y được tính từ trên cùng của cảnh.
- địch.rotation = 45; Xoay các đối tượng của đối phương 45 ° theo chiều kim đồng hồ.
- kẻ thù.scaleX = 3; Kéo giãn chiều rộng của đối tượng đối phương bằng bội số của 3. Dấu (-) sẽ lật đối tượng.
- kẻ thù.scaleY = 0,5; Thay đổi chiều cao của đối tượng thành một nửa chiều cao hiện tại của nó.
Bước 5. Quan sát lệnh trace ()
Lệnh này sẽ trả về giá trị hiện tại của đối tượng được chỉ định và hữu ích để xác định xem mọi thứ có hoạt động như bình thường hay không. Bạn có thể sẽ không bao gồm lệnh Trace trong mã cuối cùng của mình, nhưng nó có thể hữu ích để định vị nguồn của mã bị lỗi.
Bước 6. Xây dựng trò chơi cơ sở bằng cách sử dụng thông tin ở trên
Bây giờ bạn đã có hiểu biết cơ bản về các chức năng cốt lõi. Bạn có thể tạo một trò chơi mà mỗi khi kẻ thù được nhấp vào, kích thước sẽ giảm xuống, cho đến khi kẻ thù bị tiêu diệt
var địchHP: Number = 100; // Đặt HP (máu) của kẻ thù thành 100 khi bắt đầu trò chơi. var playerAttack: Number = 10; // Đặt lượng sức tấn công của người chơi khi nhấp vào. địch.addEventListener (MouseEvent. CLICK, attackEnemy); // Bằng cách thêm chức năng này trực tiếp vào đối tượng đối phương, // chức năng này chỉ xảy ra khi chính đối tượng đó // được nhấp vào, chứ không phải khi nó nhấp vào bất kỳ đâu trên màn hình. setEnemyLocation (); // Gọi hàm sau để đặt kẻ thù // trên màn hình. Điều này xảy ra khi trò chơi bắt đầu. function setEnemyLocation (): void {Địch.x = 200; // Di chuyển kẻ thù 200 pixel từ bên trái màn hình địch.y = 150; // Di chuyển kẻ thù 150 pixel xuống từ phía trên cùng của màn hình.rotation = 45; // Xoay kẻ thù 45 độ theo chiều kim đồng hồ ("giá trị x của kẻ thù là", Địch.x, "và giá trị y của kẻ thù là", Địch.y); // Hiển thị vị trí hiện tại của kẻ thù để tìm ra nguồn gốc của lỗi} function attackEnemy (e: MouseEvent): void // Tạo chức năng tấn công khi kẻ thù bị nhấp vào {ĐịchHP = Địch HP - playerAttack; // Trừ giá trị tấn công khỏi giá trị HP, // Tạo giá trị HP mới. địch.scaleX = địchHP / 100; // Thay đổi chiều rộng dựa trên giá trị HP mới. // Giá trị được chia cho 100 và sau đó được chuyển đổi thành số thập phân. địch.scaleY = địchHP / 100; // Thay đổi chiều cao dựa trên dấu vết giá trị HP mới ("Kẻ thù có", HP của kẻ thù, "HP còn lại"); // Hiển thị lượng HP của kẻ thù còn lại}
Bước 7. Hãy thử nó
Khi bạn đã viết mã, bạn có thể thử nghiệm trò chơi mới này. Nhấp vào menu Điều khiển và chọn Phim thử nghiệm. Trò chơi bắt đầu và bạn có thể nhấp vào đối tượng của đối phương để thay đổi kích thước. Đầu ra theo dõi sẽ được hiển thị trong cửa sổ Đầu ra.
Phần 3/3: Học các kỹ thuật nâng cao
Bước 1. Tìm hiểu cách hoạt động của các gói
ActionScript dựa trên Java và sử dụng một hệ thống gói rất giống nhau. Với các gói, bạn có thể lưu trữ các biến, hằng số, hàm và các thông tin khác trong các tệp riêng biệt, sau đó nhập các tệp này vào chương trình. Điều này đặc biệt hữu ích nếu bạn muốn sử dụng các gói mà người khác đã phát triển để giúp xây dựng trò chơi dễ dàng hơn.
Tìm hướng dẫn trên Wikihow để biết thêm chi tiết về cách các gói hoạt động trong Java
Bước 2. Xây dựng thư mục dự án
Nếu bạn đang tạo trò chơi có chứa hình ảnh và đoạn âm thanh, hãy tạo cấu trúc thư mục trong trò chơi. Bạn sẽ thấy dễ dàng hơn khi lưu trữ các loại phần tử khác nhau, cũng như lưu các gói khác nhau để gọi.
- Tạo một thư mục cơ sở cho dự án của bạn. Trong thư mục cơ sở, hãy tạo thư mục "img" cho tất cả nội dung nghệ thuật, thư mục "snd" cho tất cả nội dung âm thanh và thư mục "src" cho tất cả các gói trò chơi và mã.
- Tạo thư mục "Trò chơi" trong thư mục "src" để lưu trữ tệp Constants.
- Cấu trúc cụ thể này không bắt buộc, nhưng sẽ giúp dễ dàng tổ chức công việc của tất cả các vật liệu hơn, đặc biệt là đối với các dự án lớn hơn. Đối với trò chơi đơn giản được mô tả ở trên, bạn không cần tạo bất kỳ thư mục nào.
Bước 3. Thêm âm thanh vào trò chơi
Các trò chơi không có âm thanh hoặc âm nhạc sẽ nhanh chóng gây khó chịu cho người chơi. Bạn có thể thêm âm thanh vào các đối tượng bằng công cụ Lớp.
Bước 4. Tạo tệp Constants
Nếu trò chơi của bạn có nhiều giá trị giữ nguyên trong suốt trò chơi, bạn có thể tạo tệp Hằng số để thu thập tất cả chúng vào một nơi để có thể dễ dàng triệu hồi chúng. Hằng số có thể bao gồm các giá trị như trọng lực, tốc độ người chơi và các giá trị khác có thể cần được gọi nhiều lần.
-
Nếu bạn đã tạo tệp Hằng số, hãy đặt tệp đó vào một thư mục trong dự án và sau đó nhập tệp đó dưới dạng gói. Giả sử rằng bạn tạo tệp Constants.as và đặt nó vào thư mục trò chơi. Để nhập nó, hãy sử dụng mã sau:
package {import Game. *; }
Bước 5. Nhìn vào vở kịch của người khác
Mặc dù nhiều nhà phát triển sẽ không tiết lộ mã trò chơi của họ, nhưng có rất nhiều dự án hướng dẫn và dự án mã nguồn mở khác sẽ cho phép bạn xem mã và tương tác với các đối tượng trò chơi. Đây là một cách tuyệt vời để học nhiều kỹ thuật nâng cao có thể giúp trò chơi của bạn nổi bật.