Bài viết này mình sẽ hướng dẫn các bạn cách thay đổi hình dạng của con trỏ chuột trong game. Ngoài ra còn để biểu thị các chức năng khác nhau, như việc Phóng to - có thể thay thế con trỏ chuột thành hình kính lúp, Nhắm bắn - sử dụng con trỏ hình vòng tròn có tâm bắn...
B1. Tạo Project mới bằng cách vào File | New Project và đặt đường dẫn tùy ý. Bấm nút Create để hoàn thành.
B2. Download hình ảnh các con trỏ chuột tại đây về và kéo thả vào thẻ Project.
B3. Tại thẻ Project, nhấp chọn Create | C# Script và đặt tên file này là CursorScript. Double click vào file này và chèn đoạn code sau vào:
using UnityEngine;
using System.Collections;
public class CursorScript : MonoBehaviour
{
public Texture2D iconArrow;
public Vector2 arrowRegPoint;
public Texture2D iconZoom;
public Vector2 zoomRegPoint;
public Texture2D iconTarget;
public Vector2 targetRegPoint;
private Vector2 mouseReg;
void Start()
{
guiTexture.enabled = true;
if (iconArrow)
{
guiTexture.texture = iconArrow;
mouseReg = arrowRegPoint;
Screen.showCursor = false;
}
}
void Update()
{
Vector2 mouseCoord = Input.mousePosition;
Texture mouseTex = guiTexture.texture;
guiTexture.pixelInset = new Rect(mouseCoord.x - (mouseReg.x), mouseCoord.y - (mouseReg.y), mouseTex.width, mouseTex.height);
if (Input.GetKey(KeyCode.RightShift) || Input.GetKey(KeyCode.LeftShift))
{
if (iconTarget)
{
guiTexture.texture = iconTarget;
mouseReg = targetRegPoint;
}
}
else if (Input.GetMouseButton(1))
{
if (iconZoom)
{
guiTexture.texture = iconZoom;
mouseReg = zoomRegPoint;
}
}
else
{
if (iconArrow)
{
guiTexture.texture = iconArrow;
mouseReg = arrowRegPoint;
}
}
}
}
B4. Tại thẻ Inspector, nhấp chọn Create | GUI Texture, đổi tên đối tượng này thành Cursor và qua thẻ Inspector điều chỉnh như sau:
B5. Kéo thả file C# CursorScript ở thẻ Project vào Cursor vừa tạo ở bước trên.
B6. Nhấp chọn Cursor ở thẻ Hierarchy và qua thẻ Inspector điều chỉnh như sau:
B7. Nhấp nút Play để kiểm tra thành quả. Bạn có thể nhấp phải chuột để đổi chuột sang chế độ Phóng to hoặc ấn giữ Shift để đổi sang chế độ Nhắm bắn.
No comments:
Post a Comment