Godot Engine How to Use - Hướng Dẫn Chi Tiết Từ A Đến Z

Chủ đề godot engine how to use: Godot Engine là một công cụ mã nguồn mở mạnh mẽ để phát triển trò chơi 2D và 3D. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng Godot, từ các bước cơ bản đến nâng cao, giúp bạn nhanh chóng làm chủ công cụ này và tạo ra các trò chơi chất lượng cao cho nhiều nền tảng khác nhau.

Hướng Dẫn Sử Dụng Godot Engine

Godot Engine là một nền tảng mã nguồn mở mạnh mẽ và dễ sử dụng, phục vụ cho việc phát triển các trò chơi 2D và 3D. Dưới đây là hướng dẫn cơ bản về cách sử dụng Godot để tạo ra một dự án game hoàn chỉnh.

1. Cài đặt Godot Engine

Đầu tiên, bạn cần tải xuống và cài đặt Godot từ trang chủ chính thức. Godot hỗ trợ các hệ điều hành Windows, macOS và Linux.

  • Tải Godot:
  • Chọn phiên bản phù hợp với hệ điều hành của bạn.
  • Tiến hành cài đặt và mở Godot sau khi cài đặt xong.

2. Tạo một dự án mới

Sau khi cài đặt, bạn có thể tạo dự án mới trong Godot theo các bước sau:

  1. Chọn New Project trên giao diện chính.
  2. Đặt tên cho dự án và chọn thư mục lưu trữ.
  3. Chọn loại dự án: 2D hoặc 3D.
  4. Nhấp vào nút Create & Edit để bắt đầu chỉnh sửa dự án.

3. Sử dụng giao diện chính

Giao diện của Godot bao gồm các phần chính như sau:

  • Scene: Quản lý các đối tượng và cấu trúc của trò chơi.
  • Script: Viết mã điều khiển các đối tượng. Godot hỗ trợ GDScript, C# và VisualScript.
  • Inspector: Thay đổi thuộc tính của các đối tượng trong game.
  • Node: Đơn vị cơ bản của các thành phần trong Godot. Mọi thứ trong Godot đều là một node.

4. Tạo cảnh và nhân vật

Để tạo một trò chơi, bạn cần xây dựng các scene (cảnh) và thêm các đối tượng vào đó.

  1. Nhấp chuột phải vào khung Scene và chọn New Scene.
  2. Thêm các node cần thiết cho trò chơi, ví dụ như node 2D hoặc 3D.
  3. Thêm nhân vật và đối tượng bằng cách kéo thả các node từ thư viện.

5. Lập trình trò chơi

Godot hỗ trợ nhiều ngôn ngữ lập trình, trong đó GDScript là ngôn ngữ chính. Để lập trình cho các đối tượng trong game:

  • Chọn một node và nhấp vào Attach Script.
  • Viết mã điều khiển đối tượng. Ví dụ, để làm cho nhân vật di chuyển, bạn có thể sử dụng đoạn mã sau:
  • \[ func _process(delta): if Input.is_action_pressed("ui_right"): position.x += 100 * delta elif Input.is_action_pressed("ui_left"): position.x -= 100 * delta \]

6. Chạy và kiểm tra trò chơi

Sau khi hoàn tất thiết kế và lập trình, bạn có thể chạy thử trò chơi:

  • Nhấp vào nút Play trên thanh công cụ để kiểm tra trò chơi của bạn.
  • Chỉnh sửa các lỗi nếu có và tiếp tục phát triển dự án.

7. Xuất bản trò chơi

Khi dự án đã hoàn thành, bạn có thể xuất bản trò chơi trên nhiều nền tảng:

  • Chọn Project > Export.
  • Chọn nền tảng mục tiêu, ví dụ: Windows, Android, iOS, HTML5.
  • Cấu hình các thiết lập xuất bản và nhấp vào Export Project.

Kết luận

Godot Engine cung cấp một môi trường phát triển game mạnh mẽ, linh hoạt và miễn phí. Bằng cách nắm vững các bước cơ bản trên, bạn có thể tạo ra những trò chơi độc đáo và phát triển kỹ năng lập trình của mình.

Hướng Dẫn Sử Dụng Godot Engine
Làm Chủ BIM: Bí Quyết Chiến Thắng Mọi Gói Thầu Xây Dựng
Làm Chủ BIM: Bí Quyết Chiến Thắng Mọi Gói Thầu Xây Dựng

1. Giới thiệu về Godot Engine

Godot Engine là một nền tảng phát triển game mã nguồn mở và miễn phí, được thiết kế với mục tiêu dễ sử dụng và đa nền tảng. Ra đời với mục đích hỗ trợ cho cả những nhà phát triển game mới bắt đầu cũng như chuyên nghiệp, Godot cung cấp nhiều tính năng mạnh mẽ để tạo ra các trò chơi 2D và 3D một cách linh hoạt.

Một trong những ưu điểm nổi bật của Godot là giao diện trực quan và hệ thống script mạnh mẽ, giúp người dùng có thể nhanh chóng xây dựng các đối tượng trong game mà không cần phải có kiến thức lập trình quá chuyên sâu. Ngoài ra, Godot còn hỗ trợ nhiều ngôn ngữ lập trình, trong đó GDScript là ngôn ngữ được thiết kế đặc biệt cho engine này, dễ học và gần gũi với Python.

  • Godot là mã nguồn mở, nghĩa là cộng đồng phát triển có thể đóng góp và cải tiến engine, giúp nó ngày càng hoàn thiện.
  • Hỗ trợ đa nền tảng, có thể xuất bản game trên các hệ điều hành như Windows, macOS, Linux, Android, iOS, HTML5.
  • Tích hợp sẵn các công cụ như trình chỉnh sửa giao diện (UI), hệ thống vật lý, âm thanh và ánh sáng, giúp quá trình phát triển game trở nên nhanh chóng và tiện lợi.

Godot cung cấp hai chế độ làm việc chính:

  1. 2D mode: Phù hợp cho các dự án game 2D với khả năng quản lý các đối tượng đơn giản và tối ưu hóa hiệu suất.
  2. 3D mode: Cung cấp các công cụ để tạo ra thế giới 3D, bao gồm các tính năng như ánh sáng, bóng đổ, và hỗ trợ shader mạnh mẽ.

Một số tính năng đặc biệt của Godot:

Visual Script Cho phép lập trình không cần code, sử dụng sơ đồ khối để tạo logic game.
GDScript Một ngôn ngữ lập trình đơn giản và dễ học, tương tự như Python, giúp người dùng viết script dễ dàng hơn.
Hỗ trợ cộng đồng Godot có một cộng đồng lớn và nhiệt tình, luôn sẵn sàng giúp đỡ và cung cấp tài liệu học tập.

Với Godot, bạn có thể dễ dàng bắt đầu từ những dự án nhỏ như game 2D đơn giản cho đến các dự án phức tạp như game 3D với đồ họa cao cấp. Godot không chỉ là một công cụ phát triển game mà còn là một nguồn cảm hứng cho những người yêu thích lập trình và sáng tạo.

2. Cài đặt và bắt đầu với Godot

Bước đầu tiên để sử dụng Godot Engine là cài đặt phần mềm và làm quen với giao diện người dùng. Dưới đây là hướng dẫn chi tiết cách cài đặt và bắt đầu với Godot.

  1. Tải xuống Godot Engine:

    Truy cập trang web chính thức của Godot tại . Tại đây, bạn có thể chọn phiên bản phù hợp với hệ điều hành của mình như Windows, macOS, hoặc Linux. Sau khi tải xuống, bạn có thể bắt đầu cài đặt ngay lập tức mà không cần qua trình cài đặt phức tạp.

  2. Mở Godot lần đầu tiên:

    Sau khi cài đặt, khởi động Godot. Giao diện chính của Godot gồm 3 phần chính: Project Manager, Asset Library và Editor. Khi mở lần đầu, Godot sẽ yêu cầu bạn tạo hoặc chọn một dự án để bắt đầu làm việc.

  3. Tạo dự án mới:

    Bạn chọn "New Project" để bắt đầu dự án mới. Chọn thư mục lưu trữ và đặt tên cho dự án. Sau đó, bạn có thể chọn chế độ 2D hoặc 3D tùy theo mục tiêu phát triển game của mình.

  4. Làm quen với giao diện Godot:

    Godot cung cấp giao diện thân thiện với người dùng, bao gồm các thanh công cụ và các tab chức năng để dễ dàng quản lý các đối tượng trong game. Một số yếu tố quan trọng trong giao diện của Godot bao gồm:

    • Scene: Đây là nơi bạn sẽ xây dựng các thành phần chính của game, như đối tượng và cảnh.
    • Inspector: Cung cấp chi tiết về thuộc tính của các đối tượng, cho phép bạn thay đổi các thuộc tính như vị trí, kích thước, và hình dạng.
    • Node: Mỗi đối tượng trong game được biểu diễn dưới dạng các nút (node), có thể kết hợp để tạo nên cấu trúc game phức tạp.
  5. Cài đặt GDScript:

    Godot sử dụng ngôn ngữ lập trình GDScript, một ngôn ngữ dễ học tương tự như Python. Bạn có thể viết các đoạn mã để điều khiển hành vi của đối tượng và logic của game. Để thêm script vào một đối tượng, chỉ cần chọn đối tượng và nhấn "Attach Script" trong thanh công cụ.

Sau khi đã làm quen với giao diện và cài đặt script, bạn có thể bắt đầu xây dựng game theo ý tưởng của mình. Godot cung cấp một môi trường mạnh mẽ và linh hoạt, cho phép bạn phát triển các trò chơi từ cơ bản đến phức tạp.

Kidolock
Phần mềm Chặn Game trên máy tính - Kiểm soát máy tính trẻ 24/7

3. Các khái niệm cơ bản trong Godot

Godot Engine là một công cụ phát triển game mạnh mẽ và dễ sử dụng, với một số khái niệm cơ bản mà người dùng cần nắm vững để hiểu cách hoạt động của nó. Dưới đây là các khái niệm quan trọng trong Godot:

  1. Scene (Cảnh):

    Một trong những khái niệm cốt lõi của Godot là scene, đại diện cho một phần của trò chơi. Một cảnh có thể chứa các đối tượng như nhân vật, môi trường, hoặc thậm chí là menu. Cảnh là cách Godot quản lý các phần khác nhau của trò chơi, giúp bạn dễ dàng tái sử dụng và tổ chức chúng thành các phần nhỏ gọn.

  2. Node (Nút):

    Node là đơn vị xây dựng cơ bản của Godot. Mỗi đối tượng trong game đều là một node, và các node có thể được kết hợp với nhau để tạo thành một cấu trúc phức tạp hơn. Godot cung cấp nhiều loại node khác nhau, từ nút 2D, 3D, đến các nút âm thanh, giao diện người dùng.

  3. Script (Kịch bản):

    Godot hỗ trợ viết kịch bản bằng ngôn ngữ GDScript, Python, và C#. Kịch bản được sử dụng để lập trình hành vi của các đối tượng trong game. Mỗi node có thể đính kèm một kịch bản để điều khiển hành động của nó. Ví dụ, bạn có thể sử dụng kịch bản để lập trình nhân vật nhảy, di chuyển hoặc tương tác với môi trường.

  4. Signals (Tín hiệu):

    Tín hiệu trong Godot cho phép các node giao tiếp với nhau mà không cần sự kết nối trực tiếp. Tín hiệu giúp các node thông báo cho nhau khi một sự kiện xảy ra, ví dụ như khi một nhân vật va chạm với vật thể hoặc khi một nút trong giao diện người dùng được nhấn.

  5. Groups (Nhóm):

    Các node có thể được tổ chức vào các nhóm, cho phép bạn quản lý và thao tác nhiều đối tượng cùng một lúc. Nhóm giúp bạn thực hiện các hành động đối với một tập hợp các node cùng loại mà không cần phải gọi riêng từng node.

  6. Assets (Tài nguyên):

    Assets là các tài nguyên sử dụng trong game như hình ảnh, âm thanh, và mẫu 3D. Godot quản lý tài nguyên này trong Asset Library, cho phép người dùng dễ dàng tìm kiếm, cài đặt và sử dụng các tài nguyên để xây dựng game của mình.

  7. Scenes instancing (Khởi tạo cảnh):

    Một cảnh trong Godot có thể được sử dụng như một mẫu để khởi tạo nhiều bản sao của nó trong game. Điều này giúp bạn dễ dàng tạo ra nhiều nhân vật hoặc đối tượng từ cùng một cảnh mà không cần phải xây dựng lại chúng từ đầu.

Nắm vững những khái niệm cơ bản này sẽ giúp bạn phát triển các trò chơi một cách hiệu quả và tận dụng tối đa sức mạnh của Godot Engine.

3. Các khái niệm cơ bản trong Godot

4. Phát triển trò chơi 2D và 3D

Godot Engine cung cấp một bộ công cụ mạnh mẽ để phát triển cả trò chơi 2D và 3D, cho phép người dùng tùy chỉnh và xây dựng các dự án của mình một cách linh hoạt. Dưới đây là quy trình phát triển trò chơi 2D và 3D trong Godot:

  • 1. Lựa chọn chế độ 2D hoặc 3D:

    Khi bắt đầu một dự án mới trong Godot, bạn có thể chọn giữa hai chế độ 2D hoặc 3D. Nếu bạn phát triển trò chơi 2D, Godot có hệ thống tọa độ phẳng đơn giản, giúp dễ dàng tạo ra các chuyển động và tương tác. Trong khi đó, chế độ 3D sử dụng hệ thống tọa độ không gian ba chiều để mô phỏng thế giới thực.

  • 2. Tạo đối tượng và cảnh:

    Đối với trò chơi 2D, bạn có thể sử dụng Sprite để hiển thị hình ảnh nhân vật hoặc vật thể. Trong trò chơi 3D, bạn sẽ làm việc với các Mesh để xây dựng các đối tượng không gian ba chiều. Cả hai chế độ đều sử dụng các node để xây dựng cảnh và cấu trúc trò chơi.

  • 3. Thiết lập vật lý và tương tác:

    Godot hỗ trợ hệ thống vật lý cho cả 2D và 3D, giúp bạn dễ dàng xử lý va chạm, trọng lực, và các tương tác giữa các vật thể. Đối với trò chơi 2D, bạn có thể sử dụng RigidBody2D để thiết lập các đối tượng có thể va chạm và chịu ảnh hưởng của vật lý. Trong khi đó, trò chơi 3D sẽ sử dụng RigidBody để tạo ra các đối tượng tương tác trong không gian ba chiều.

  • 4. Scripting và logic game:

    Dù là trò chơi 2D hay 3D, việc lập trình logic game trong Godot là như nhau. Bạn có thể sử dụng GDScript, Python, hoặc C# để điều khiển hành vi của các đối tượng, xây dựng gameplay và các tính năng phức tạp. Hệ thống scripting của Godot giúp dễ dàng thao tác trên cả các đối tượng 2D và 3D.

  • 5. Hiệu ứng và ánh sáng:

    Godot có khả năng xử lý hiệu ứng hình ảnh và ánh sáng cho cả 2D và 3D. Đối với trò chơi 2D, bạn có thể thêm các hiệu ứng như đổ bóng, phản chiếu, và ánh sáng động. Trong chế độ 3D, bạn có thể thiết lập các nguồn sáng và điều chỉnh các hiệu ứng như đổ bóng và phản xạ để tạo ra môi trường chân thực.

  • 6. Tối ưu hóa và xuất bản:

    Sau khi hoàn thiện trò chơi, bạn có thể tối ưu hóa dự án để đảm bảo hiệu suất tốt nhất cho các nền tảng khác nhau. Godot hỗ trợ xuất bản trên nhiều nền tảng bao gồm Windows, Mac, Linux, iOS, và Android. Điều này giúp bạn dễ dàng đưa trò chơi của mình đến với nhiều người chơi hơn.

Với Godot Engine, phát triển trò chơi 2D và 3D không chỉ trở nên đơn giản mà còn rất hiệu quả nhờ vào các công cụ và tính năng hỗ trợ phong phú.

Kidolock
Phần mềm Chặn Web độc hại, chặn game trên máy tính - Bảo vệ trẻ 24/7

5. Lập trình với Godot

Godot hỗ trợ nhiều ngôn ngữ lập trình, trong đó phổ biến nhất là GDScript – một ngôn ngữ mạnh mẽ và dễ học tương tự Python. Ngoài ra, bạn cũng có thể sử dụng C#, VisualScript hoặc các ngôn ngữ khác để lập trình trong Godot. Dưới đây là các bước cơ bản để lập trình với Godot:

  1. Bước 1: Chọn ngôn ngữ lập trình

    Godot hỗ trợ đa dạng ngôn ngữ như GDScript, C#, VisualScript. Tuy nhiên, GDScript là ngôn ngữ mặc định và dễ học nhất, giúp người mới bắt đầu có thể làm quen nhanh chóng với môi trường phát triển game.

  2. Bước 2: Tạo script cho đối tượng

    Để bắt đầu lập trình, bạn cần tạo một script mới cho đối tượng hoặc cảnh (node) mà bạn muốn điều khiển. Ví dụ: nhấn chuột phải vào đối tượng và chọn "Attach Script".

  3. Bước 3: Viết code điều khiển

    Sau khi tạo script, bạn có thể viết các đoạn mã để điều khiển đối tượng. Ví dụ:

    
    extends KinematicBody2D
    
    func _process(delta):
        if Input.is_action_pressed("ui_right"):
            position.x += 10
        

    Đoạn code trên sẽ giúp đối tượng di chuyển sang phải khi người chơi nhấn phím phải.

  4. Bước 4: Chạy thử và kiểm tra lỗi

    Sau khi lập trình xong, bạn có thể nhấn nút "Run" để chạy trò chơi và kiểm tra hoạt động của các đối tượng. Godot cũng cung cấp các công cụ để gỡ lỗi, giúp bạn nhanh chóng sửa chữa lỗi nếu có.

  5. Bước 5: Tối ưu hóa và thêm tính năng nâng cao

    Sau khi hoàn thiện các chức năng cơ bản, bạn có thể thêm các tính năng nâng cao như hệ thống va chạm, AI, âm thanh,... để trò chơi trở nên hoàn thiện hơn. Godot cung cấp sẵn các thư viện hỗ trợ cho các tác vụ này.

Với Godot, quá trình lập trình trò chơi trở nên đơn giản và dễ hiểu nhờ vào hệ thống node và ngôn ngữ lập trình dễ sử dụng, giúp bạn nhanh chóng xây dựng các dự án game chất lượng.

6. Xuất bản trò chơi

Xuất bản trò chơi đã phát triển trong Godot là bước cuối cùng để bạn có thể chia sẻ sản phẩm của mình với người chơi trên toàn thế giới. Godot hỗ trợ nhiều nền tảng khác nhau như Windows, Android, iOS và thậm chí là xuất bản dưới dạng trò chơi HTML5 chạy trực tiếp trên trình duyệt. Dưới đây là các bước xuất bản trò chơi một cách chi tiết:

6.1. Hướng dẫn xuất bản game trên các nền tảng

Godot hỗ trợ nhiều nền tảng và quy trình xuất bản game cho từng nền tảng có thể khác nhau. Tuy nhiên, các bước cơ bản thường bao gồm:

  1. Chuẩn bị dự án hoàn chỉnh với tất cả các file cần thiết.
  2. Kiểm tra kỹ càng để đảm bảo không có lỗi nào trong quá trình chơi.
  3. Chọn nền tảng xuất bản (Windows, macOS, Linux, Android, iOS, HTML5).
  4. Thực hiện build dự án qua menu “Export” trong Godot.
  5. Tối ưu hóa trò chơi cho nền tảng đích, đặc biệt là với các nền tảng di động như Android và iOS.

6.2. Đóng gói trò chơi cho Windows, Android và iOS

Để đóng gói trò chơi cho các nền tảng như Windows, Android hay iOS, bạn cần làm theo các bước sau:

  • Windows: Chọn "Export" và chọn định dạng .exe. Godot sẽ tạo ra file chạy được cho Windows.
  • Android: Cài đặt SDK Android và cấu hình Godot để build APK. Bạn có thể tùy chỉnh thông số như độ phân giải, tỷ lệ khung hình để trò chơi chạy mượt trên nhiều thiết bị.
  • iOS: Yêu cầu một tài khoản nhà phát triển Apple để xuất bản trên iOS. Sau khi xuất từ Godot, bạn cần sử dụng Xcode để build và phân phối trò chơi lên App Store.

6.3. Xuất bản game dưới dạng HTML5

Xuất bản trò chơi dưới dạng HTML5 là một cách tuyệt vời để người chơi có thể trải nghiệm trò chơi ngay trên trình duyệt mà không cần tải về:

  1. Chọn tùy chọn “HTML5” trong mục “Export”.
  2. Godot sẽ tạo ra các file HTML và JavaScript cần thiết.
  3. Upload các file này lên server của bạn hoặc nền tảng hỗ trợ trò chơi HTML5 như itch.io.
  4. Kiểm tra trò chơi trực tiếp trên trình duyệt để đảm bảo mọi chức năng hoạt động mượt mà.

Việc xuất bản trò chơi không chỉ dừng lại ở việc tạo ra file chạy mà còn bao gồm việc tối ưu hóa, kiểm tra và đảm bảo trò chơi của bạn hoạt động tốt trên mọi nền tảng. Hãy nhớ cập nhật thường xuyên và lắng nghe phản hồi từ người chơi để cải thiện trò chơi sau khi xuất bản.

6. Xuất bản trò chơi

7. Cộng đồng và Tài nguyên hỗ trợ

Godot Engine không chỉ nổi bật nhờ tính năng mã nguồn mở và linh hoạt trong phát triển game, mà còn nhờ sự hỗ trợ từ cộng đồng lớn mạnh và tài nguyên phong phú. Việc tận dụng các tài nguyên này sẽ giúp bạn giải quyết nhanh chóng các vấn đề khi sử dụng công cụ này.

7.1. Cộng đồng Godot

Cộng đồng Godot hoạt động tích cực trên nhiều nền tảng, bao gồm diễn đàn, nhóm Facebook, và các kênh Discord. Đây là nơi các nhà phát triển từ người mới bắt đầu đến chuyên gia đều có thể trao đổi kinh nghiệm, chia sẻ kiến thức và hỗ trợ lẫn nhau.

  • Diễn đàn Godot: Diễn đàn chính thức của Godot là nơi thảo luận về mọi khía cạnh của việc phát triển game, từ thiết kế đồ họa, lập trình cho đến xử lý lỗi.
  • Nhóm Facebook: Các nhóm Facebook về Godot cũng là nơi lý tưởng để tìm kiếm câu trả lời nhanh và học hỏi từ cộng đồng.
  • Kênh Discord: Đây là không gian tương tác trực tiếp với các lập trình viên khác, nơi bạn có thể hỏi đáp ngay lập tức và tham gia các cuộc thảo luận về dự án Godot của mình.

7.2. Tài nguyên học tập

Bên cạnh sự hỗ trợ từ cộng đồng, Godot còn cung cấp nhiều tài nguyên học tập miễn phí, từ các khóa học trực tuyến đến tài liệu hướng dẫn chi tiết. Những tài nguyên này không chỉ giúp bạn làm quen với công cụ mà còn mở rộng kỹ năng phát triển game của mình.

  • Godot Docs: Tài liệu chính thức từ trang web của Godot với đầy đủ các hướng dẫn về các tính năng của công cụ này.
  • Khóa học trực tuyến: Nhiều nền tảng giáo dục như Udemy và Coursera cung cấp các khóa học về Godot cho cả người mới và chuyên nghiệp.
  • Video hướng dẫn: Các video trên YouTube từ cộng đồng cũng là nguồn tài nguyên quý giá giúp bạn hiểu rõ cách sử dụng các tính năng cụ thể của Godot.

7.3. Kho thư viện và công cụ hỗ trợ

Godot có một kho thư viện phong phú, bao gồm các plugin và gói mở rộng giúp bạn dễ dàng tích hợp nhiều tính năng vào dự án của mình. Ngoài ra, bạn cũng có thể tìm thấy các mẫu dự án và tài nguyên đồ họa miễn phí từ cộng đồng.

  • Godot Asset Library: Kho thư viện chính thức của Godot với hàng nghìn tài nguyên miễn phí từ cộng đồng, từ đồ họa, âm thanh cho đến các đoạn mã hữu ích.
  • Kho tài nguyên từ bên thứ ba: Bạn cũng có thể tìm thấy nhiều công cụ và tài nguyên khác từ các nền tảng như GitHub hoặc các trang web chia sẻ của cộng đồng.

Với sự hỗ trợ mạnh mẽ từ cả cộng đồng và các tài nguyên sẵn có, Godot Engine mang đến môi trường phát triển game thuận lợi cho cả người mới bắt đầu và những nhà phát triển kỳ cựu.

Khóa học nổi bật
Bài Viết Nổi Bật