Tất cả câu hỏi
Ngân hàng câu hỏi trắc nghiệm có giải thích chi tiết.
9.000/16.752 câuCòn 7.752
8981When is the Start function in a MonoBehaviour script typically called?4 lựa chọnDễ100% trả lời đúng
ABefore gameplay, ideal for initialization tasks
BDuring frame updates for GameObject actions
CAfter gameplay, for cleanup tasks
DWhen responding to user input during gameplay
Lời giải
Mở trang câu hỏi này →Hàm Start trong một script MonoBehaviour thường được gọi trước khi bắt đầu gameplay. Đây là một trong những phương thức đặc biệt được Unity cung cấp, được gọi một lần khi trò chơi bắt đầu. Trong phương thức này, bạn có thể thực hiện các tác vụ khởi tạo cần thiết cho trò chơi, chẳng hạn như khởi tạo các biến, tải dữ liệu, tạo các đối tượng cần thiết, v.v. Điều này giúp đảm bảo rằng trò chơi có thể chạy một cách trơn tru và hiệu quả. Ngoài ra, bạn cũng có thể sử dụng phương thức này để thực hiện các tác vụ cần thiết trước khi bắt đầu gameplay, chẳng hạn như tải dữ liệu, khởi tạo các biến, v.v.
8982How would you implement a decision-making structure to handle different game states such as "Start", "Play", and "GameOver" in Unity?4 lựa chọnKhó33% trả lời đúng
AUsing a switch statement to handle each game state and execute related actions
BUsing multiple if-else statements to check the current state and perform corresponding actions
CUsing a for loop to iterate through the game states
DUsing a while loop to keep checking the game state
Lời giải
Mở trang câu hỏi này →Để thực hiện một cấu trúc quyết định xử lý các trạng thái trò chơi khác nhau như "Bắt đầu", "Chơi", và "Trò chơi kết thúc" trong Unity, chúng ta có thể sử dụng một số phương pháp khác nhau. Một trong những cách phổ biến nhất là sử dụng một câu lệnh switch để xử lý từng trạng thái trò chơi và thực hiện các hành động liên quan. Ví dụ, chúng ta có thể sử dụng một biến trạng thái để lưu trữ trạng thái hiện tại của trò chơi và sử dụng câu lệnh switch để kiểm tra trạng thái và thực hiện các hành động tương ứng. Điều này giúp giảm thiểu số lượng mã và làm cho mã dễ đọc và bảo trì hơn. Ngoài ra, chúng ta cũng có thể sử dụng các phương pháp khác như sử dụng nhiều câu lệnh if-else để kiểm tra trạng thái và thực hiện các hành động tương ứng, nhưng phương pháp switch thường được coi là hiệu quả hơn.
8983Which function is commonly used by the Input Manager to handle keyboard events in Unity?4 lựa chọnTrung bình67% trả lời đúng
A
Input.GetButton()B
Input.GetKey()C
Input.GetTouch()D
Input.GetAxis()Lời giải
Mở trang câu hỏi này →Hàm thường được sử dụng bởi Input Manager để xử lý sự kiện bàn phím trong Unity là Input.GetKey(). Hàm này được sử dụng để kiểm tra xem một nút nào đó đã được nhấn hay chưa. Nó sẽ trả về giá trị True nếu nút được nhấn và False nếu nút không được nhấn. Hàm này rất hữu ích trong việc kiểm tra trạng thái của các nút trên bàn phím và thực hiện các hành động tương ứng. Ví dụ, bạn có thể sử dụng hàm này để kiểm tra xem nút 'A' đã được nhấn hay chưa và thực hiện một hành động khi nút đó được nhấn.
8984What functionality does the GameObject class NOT provide in Unity scripting?4 lựa chọnTrung bình67% trả lời đúng
AFinding GameObjects
BMaking connections between GameObjects
CAdding or removing components attached to GameObjects
DCreating new scenes in Unity using GameObjects
Lời giải
Mở trang câu hỏi này →Tương tự như các lớp khác trong Unity, lớp GameObject cung cấp một số tính năng cơ bản để tương tác với các đối tượng trong trò chơi. Tuy nhiên, lớp GameObject không cung cấp khả năng tạo mới các cảnh trong Unity. Điều này là do việc tạo mới cảnh thường liên quan đến việc quản lý các tài nguyên và dữ liệu lớn, và Unity cung cấp các lớp và phương thức khác để hỗ trợ việc này. Thay vào đó, bạn có thể sử dụng lớp GameObject để tìm kiếm các đối tượng, thêm hoặc xóa các thành phần, và tạo mối liên kết giữa các đối tượng.
8985You have a code snippet of the MyCoroutine() method as below. Which of the following is the correct way to start a coroutine in Unity C# scripting? IEnumerator MyCoroutine() { yield return null; }4 lựa chọnTrung bình
AExecuteCoroutine(MyCoroutine());
BMyCoroutine.Start();
CBeginCoroutine(MyCoroutine());
DStartCoroutine(MyCoroutine());
Lời giải
Mở trang câu hỏi này →Để bắt đầu một coroutine trong Unity C# scripting, bạn cần sử dụng hàm StartCoroutine(). Hàm này sẽ khởi tạo và bắt đầu thực hiện coroutine. Trong ví dụ trên, MyCoroutine() là một coroutine được định nghĩa như một phương thức trả về IEnumerator. Khi bạn gọi StartCoroutine(MyCoroutine()), Unity sẽ bắt đầu thực hiện coroutine và chờ đợi cho đến khi nó kết thúc. Điều này cho phép coroutine thực hiện các hành động đồng thời với code chính của chương trình. Ngoài ra, bạn cũng có thể sử dụng hàm StartCoroutine() để bắt đầu các coroutine khác nhau trong cùng một chương trình.
8986What is the difference between Input.GetKey() and Input.GetKeyDown() in Unity?4 lựa chọnTrung bình
AInput.GetKey() only works for keyboard, while Input.GetKeyDown() works for both mouse and keyboard.
BInput.GetKey() is for axis input, and Input.GetKeyDown() is for button input.
CInput.GetKey() checks a key is pressed, while Input.GetKeyDown() checks for a key release.
DInput.GetKey() detects continuous pressing, while Input.GetKeyDown() detects a single press event.
Lời giải
Mở trang câu hỏi này →Trong Unity, Input.GetKey() và Input.GetKeyDown() là hai hàm khác nhau được sử dụng để kiểm tra trạng thái của phím bấm. Input.GetKey() được sử dụng để kiểm tra xem một phím nào đó có đang được giữ xuống hay không. Nó sẽ trả về giá trị True nếu phím đó đang được giữ xuống và False nếu không. Ngược lại, Input.GetKeyDown() được sử dụng để kiểm tra xem một phím nào đó có đang được nhấn xuống lần đầu tiên hay không. Nó sẽ trả về giá trị True nếu phím đó được nhấn xuống lần đầu tiên và False nếu không. Điều này có nghĩa là Input.GetKey() sẽ trả về True cho đến khi phím đó được thả ra, trong khi Input.GetKeyDown() chỉ trả về True một lần khi phím đó được nhấn xuống lần đầu tiên. Vì vậy, Input.GetKey() được sử dụng để phát hiện trạng thái liên tục của phím bấm, trong khi Input.GetKeyDown() được sử dụng để phát hiện sự kiện nhấn xuống một lần.
8987Given the following C# code in Unity, what action is performed when the Space key is pressed (the lines of code are in Update method)?4 lựa chọncó codeDễ
if (Input.GetKeyDown(KeyCode.Space)) {
Debug.Log("Jump");
}else
if (Input.GetKeyDown(KeyCode.LeftShift)) {
Debug.Log("Run");
}else { Debug.Log("Idle"); }
APrints "Jump" when the Space key is pressed, "Run" when the LeftShift key is pressed, and "Idle" when nothing is pressed.
BOnly prints "Jump" when the Space key is pressed and does nothing for other keys.
CPrints "Jump" when the Space key is pressed and "Idle" in all other cases.
DPrints "Idle" regardless of which key is pressed.
Lời giải
Mở trang câu hỏi này →Khi bạn nhấn phím Space, chương trình Unity sẽ thực hiện hành động in ra "Jump". Nếu bạn nhấn phím LeftShift, chương trình sẽ in ra "Run". Trong trường hợp bạn không nhấn bất kỳ phím nào, chương trình sẽ in ra "Idle". Điều này có nghĩa là chương trình sẽ kiểm tra trạng thái các phím trên bàn phím và thực hiện hành động tương ứng. Ví dụ, nếu bạn nhấn Space và LeftShift cùng lúc, chương trình sẽ in ra "Jump" vì điều kiện Input.GetKeyDown(KeyCode.Space) sẽ được thực hiện trước. Điều này cho thấy chương trình sử dụng điều kiện if-else để kiểm tra trạng thái các phím và thực hiện hành động phù hợp.
8988When is the Awake() method called in Unity?4 lựa chọnTrung bình
AWhen the script instance is being loaded
BOnly when the game starts
COnce per frame, after Start()
DContinuously during gameplay
Lời giải
Mở trang câu hỏi này →Awake() là một phương thức đặc biệt trong Unity, được gọi khi một script được khởi tạo. Điều này có nghĩa là khi một script được tạo ra và gắn vào một đối tượng trong Unity, phương thức Awake() sẽ được gọi ngay lập tức. Điều này xảy ra ngay sau khi Start() được gọi, nhưng trước khi Update() được gọi. Vì vậy, Awake() chỉ được gọi một lần khi script được khởi tạo, chứ không phải liên tục trong suốt quá trình chơi game. Điều này cho phép bạn thực hiện các tác vụ cần thiết khi script được khởi tạo mà không làm gián đoạn quá trình chơi game.
8989How can dragging functionality be implemented in Unity?4 lựa chọnKhó0% trả lời đúng
ABy using only OnMousePosition to calculate the delta during the drag
BBy disabling the Input System during gameplay to set the fixed value for the delta during the drag
CBy setting a high mouse sensitivity value to the delta during the drag
DBy combining OnMousePosition and mouse button actions to calculate the delta during the drag
Lời giải
Mở trang câu hỏi này →Để thực hiện chức năng kéo (drag) trong Unity, bạn cần kết hợp giữa vị trí chuột hiện tại và hành động nhấn chuột để tính toán độ lệch (delta) trong quá trình kéo. Điều này giúp đảm bảo tính chính xác và phản hồi tốt khi kéo các đối tượng trong game. Phương pháp này cho phép bạn dễ dàng điều chỉnh độ nhạy kéo và phản hồi của game theo ý muốn. Ngoài ra, nó cũng giúp giảm thiểu sự can thiệp của hệ thống Input trong quá trình kéo, từ đó cải thiện hiệu suất và giảm thiểu độ trễ.
8990Which of the following allows us to view and edit the properties of the currently selected game object?4 lựa chọnDễ75% trả lời đúng
AProject window
BOverlays
CInspector window
DStatus bar
Lời giải
Mở trang câu hỏi này →Để xem và chỉnh sửa các thuộc tính của đối tượng trò chơi đang được chọn, bạn cần sử dụng cửa sổ Inspector. Cửa sổ này cho phép bạn xem và chỉnh sửa các thuộc tính như vị trí, kích thước, màu sắc, v.v. của đối tượng trò chơi. Nó cũng cho phép bạn xem và chỉnh sửa các thuộc tính của các thành phần khác như sprite, vật thể, v.v. Cửa sổ Inspector là một công cụ quan trọng trong Unity và được sử dụng rộng rãi trong quá trình thiết kế và phát triển trò chơi.
8991When managing multiple scenes in a Unity project, which Unity class provides functionalities for loading and unloading scenes?4 lựa chọnTrung bình67% trả lời đúng
A
GameObjectB
TransformC
UnityEngine.SceneManagementD
MonoBehaviourLời giải
Mở trang câu hỏi này →Khi quản lý nhiều cảnh trong dự án Unity, lớp Unity nào cung cấp các tính năng để tải và xóa bỏ các cảnh? Để quản lý các cảnh trong Unity, chúng ta cần sử dụng lớp UnityEngine.SceneManagement. Lớp này cung cấp các phương thức để tải và xóa bỏ các cảnh, giúp chúng ta dễ dàng quản lý các cảnh trong dự án. Ngoài ra, lớp UnityEngine.SceneManagement cũng cung cấp các tính năng để quản lý các cảnh trong thời gian chạy, giúp chúng ta có thể dễ dàng chuyển đổi giữa các cảnh mà không cần phải tải lại toàn bộ dự án.
AThe Transform values of the child GameObjects automatically update to match the parent GameObject's Transform values.
BThe Transform values of the child GameObjects are not affected by changes to the parent GameObject.
CThe Transform values of the child GameObjects reset to (0, 0, 0) regardless of the parent GameObject's Transform modifications.
DThe Transform values of the child GameObjects change relative to their original values, depending on the modification applied to the parent GameObject.
Lời giải
Mở trang câu hỏi này →Khi điều chỉnh thuộc tính Transform của một GameObject trong Unity, mối quan hệ cha-con của GameObject ảnh hưởng như thế nào đến giá trị Transform của GameObject con khi giá trị Transform của GameObject cha được chỉnh sửa? Trong Unity, khi bạn chỉnh sửa giá trị Transform của một GameObject cha, các GameObject con sẽ tự động cập nhật giá trị Transform của mình tương đối với giá trị Transform ban đầu của chúng. Điều này có nghĩa là giá trị Transform của GameObject con sẽ thay đổi dựa trên sự thay đổi của giá trị Transform của GameObject cha. Ví dụ, nếu bạn chỉnh sửa vị trí của GameObject cha, vị trí của các GameObject con cũng sẽ thay đổi tương ứng. Điều này giúp bạn dễ dàng quản lý và điều chỉnh vị trí của các GameObject trong một hệ thống phức tạp.
ATranslate game object
BScale game object
CMove game object
DRotate game object
Lời giải
Mở trang câu hỏi này →Trong Unity Scene view, một GameObject đã được chọn sẽ được bao quanh bởi một gizmo được tạo thành từ ba vòng tròn màu sắc (đỏ, xanh lá cây và xanh da trời) bên trong một vòng tròn trắng ngoài. Đây là công cụ được sử dụng để xoay GameObject. Khi bạn chọn một GameObject và nhìn vào Scene view, bạn sẽ thấy một gizmo bao quanh nó. Gizmo này bao gồm ba vòng tròn màu sắc: đỏ, xanh lá cây và xanh da trời. Mỗi vòng tròn màu sắc này đại diện cho một trục xoay khác nhau. Vòng tròn đỏ đại diện cho trục xoay theo chiều ngang, vòng tròn xanh lá cây đại diện cho trục xoay theo chiều dọc và vòng tròn xanh da trời đại diện cho trục xoay theo chiều chéo. Khi bạn di chuyển con trỏ chuột vào một trong những vòng tròn màu sắc này và nhấn vào nút chuột trái, GameObject sẽ được xoay theo trục đó.
8994Which function from UnityEngine.SceneManagement is used to load a new scene in Unity?4 lựa chọnTrung bình60% trả lời đúng
A
SceneManager.LoadLevel()B
SceneManager.SwitchScene()C
SceneManager.AddScene()D
SceneManager.LoadScene()Lời giải
Mở trang câu hỏi này →Để tải một cảnh mới trong Unity, bạn cần sử dụng hàm từ UnityEngine.SceneManagement. Trong các lựa chọn trên, có bốn hàm khác nhau: SceneManager.LoadLevel(), SceneManager.SwitchScene(), SceneManager.AddScene() và SceneManager.LoadScene(). Tuy nhiên, hàm chính xác được sử dụng để tải một cảnh mới là SceneManager.LoadScene(). Hàm này cho phép bạn tải một cảnh mới vào Unity và có thể được sử dụng để thay thế hoặc thêm cảnh mới vào ứng dụng của bạn. Ngoài ra, bạn cũng có thể sử dụng các tham số tùy chọn để điều khiển cách cảnh mới được tải vào, chẳng hạn như cách cảnh mới được tải vào (synchronous hoặc asynchronous) và trạng thái của cảnh mới (loaded hoặc unloaded).
AIt features interfaces for graphics, audio, and level-building tools within the engine.
BIt only supports PC as a target platform.
CIt requires extensive use of external programs for game development.
DIt lacks support for audio integration.
Lời giải
Mở trang câu hỏi này →Unity là một công cụ phát triển trò chơi đa nền tảng mạnh mẽ. Một trong những tính năng nổi bật của Unity là bộ công cụ phát triển tích hợp sẵn. Bộ công cụ này cung cấp các giao diện cho đồ họa, âm thanh và công cụ xây dựng cấp độ ngay trong chính engine. Điều này cho phép các nhà phát triển trò chơi dễ dàng tạo ra các trò chơi với đồ họa đẹp, âm thanh sống động và cấp độ thú vị mà không cần phải sử dụng các chương trình bên ngoài. Bộ công cụ này cũng giúp giảm thiểu thời gian phát triển và tăng cường hiệu suất của các trò chơi.
AHierarchy window
BScene window
CProject window
DInspector window
Lời giải
Mở trang câu hỏi này →Câu hỏi này yêu cầu bạn xác định cửa sổ nào trong Unity Editor hiển thị các thành phần của GameObject được chọn hiện tại. Trong Unity, cửa sổ Inspector là nơi bạn có thể xem và chỉnh sửa các thành phần của GameObject được chọn. Cửa sổ này hiển thị các thông tin như vị trí, góc quay và kích thước của Transform, cũng như các thông tin về Sprite Renderer như hình ảnh, màu sắc, cách sắp xếp và vật liệu. Vì vậy, cửa sổ này thuộc về cửa sổ Inspector.
8997What are sprites in Unity?4 lựa chọnDễ100% trả lời đúng
AA tool for creating lighting effects on the objects in Unity
BSimple 2D objects with graphical images (textures) on them
CComponents used for managing input devices in Unity
D3D objects used for physics simulations in Unity
Lời giải
Mở trang câu hỏi này →Trong Unity, sprites là những đối tượng 2D đơn giản có hình ảnh đồ họa (texture) được áp dụng lên chúng. Chúng thường được sử dụng để tạo ra các nhân vật, vật thể, hoặc các yếu tố khác trong trò chơi 2D. Sprite có thể được tạo ra từ các hình ảnh tĩnh hoặc động, và có thể được điều chỉnh để phù hợp với các yêu cầu của trò chơi. Ngoài ra, sprites cũng có thể được sử dụng để tạo ra các hiệu ứng ánh sáng, bóng tối, hoặc các yếu tố khác trong trò chơi. Tuy nhiên, trong trường hợp này, sprite không phải là công cụ tạo hiệu ứng ánh sáng, mà là một loại đối tượng 2D có hình ảnh đồ họa.
8998In Unity development, what is the primary advantage of utilizing multiple scenes in a project?4 lựa chọnKhó25% trả lời đúng
AScenes facilitate the organization of self-contained collections of game objects.
BScenes reduce the overall size of the game application.
CScenes enable complex game logic without the need for scripting.
DScenes allow for more efficient and effective management of sprites, prefabs, and game objects.
Lời giải
Mở trang câu hỏi này →Trong Unity, lợi thế chính của việc sử dụng nhiều cảnh trong một dự án là chúng giúp tổ chức các tập hợp tự chứa của đối tượng trò chơi một cách hiệu quả. Điều này cho phép các nhà phát triển dễ dàng quản lý và sắp xếp các đối tượng trò chơi, các sprite và các bản sao (prefabs) trong dự án của mình. Sử dụng nhiều cảnh cũng giúp giảm thiểu sự phức tạp và tăng cường khả năng mở rộng của dự án. Ngoài ra, việc sử dụng nhiều cảnh cũng giúp các nhà phát triển dễ dàng chia sẻ và tái sử dụng mã nguồn giữa các cảnh khác nhau, từ đó giúp tăng cường hiệu suất và hiệu quả trong quá trình phát triển trò chơi.
8999A Hierarchy window shows Scene1 containing: Main Camera, ObjectRelease, and spaceWarShip; spaceWarShip is expanded and has one child named Protecter; bullets_4_up and bullets_4_down are separate root objects and are shown greyed out (inactive). What is TRUE about this hierarchy window?4 lựa chọnTrung bình67% trả lời đúng
AObjectRelease is child game object of Main Camera
Bbullets_4_up is child game object of spaceWarShip
Cbullets_4_up and bullets_4_down share the same characteristics
DProtecter will move exactly same as spaceWarShip moves
Lời giải
Mở trang câu hỏi này →Trong cửa sổ Hierarchy, Scene1 chứa các đối tượng Main Camera, ObjectRelease và spaceWarShip. spaceWarShip được mở rộng và có một con cái tên là Protecter. bullets_4_up và bullets_4_down là các đối tượng gốc riêng biệt và được hiển thị màu xám (không hoạt động). Để trả lời câu hỏi này, chúng ta cần xem xét các mối quan hệ giữa các đối tượng trong cửa sổ Hierarchy. Protecter là con cái của spaceWarShip, vì vậy nó sẽ di chuyển cùng với spaceWarShip. Điều này có nghĩa là Protecter sẽ di chuyển theo cùng một cách với spaceWarShip, bao gồm cả chuyển động và vị trí. Vì vậy, câu trả lời đúng là "Protecter sẽ di chuyển chính xác như spaceWarShip di chuyển".
9000Widget Inspector in DevTools helps with?4 lựa chọn
AUnrelated to debugging
BWidget tree, constraints, overflow
CBuild APK
DOnly theme
Lời giải
Mở trang câu hỏi này →Widget Inspector trong DevTools giúp bạn xem xét và kiểm tra các widget trong ứng dụng Android. Nó cho phép bạn xem xét cấu trúc cây widget, các ràng buộc và sự cố tràn. Điều này giúp bạn dễ dàng xác định và sửa lỗi trong ứng dụng của mình. Widget Inspector cũng cho phép bạn xem xét các thuộc tính và hành vi của các widget, giúp bạn hiểu rõ hơn về cách chúng hoạt động. Với Widget Inspector, bạn có thể dễ dàng kiểm tra và sửa lỗi trong ứng dụng của mình, từ đó cải thiện trải nghiệm người dùng.