Chụp ảnh màn hình trong game

Tags:
Utility
Input
Mobile
Saving

C# Code

using UnityEngine;
using System.IO;

public class ScreenshotHandler : MonoBehaviour
{
    public KeyCode screenshotKey = KeyCode.F12;
    public string screenshotFolderName = "Screenshots";

    void Update()
    {
        if (Input.GetKeyDown(screenshotKey))
        {
            TakeScreenshot();
        }
    }

    public void TakeScreenshot()
    {
        // Tạo thư mục nếu nó chưa tồn tại
        string folderPath = Path.Combine(Application.persistentDataPath, screenshotFolderName);
        if (!Directory.Exists(folderPath))
        {
            Directory.CreateDirectory(folderPath);
        }

        // Tạo tên file duy nhất dựa trên ngày và giờ
        string timestamp = System.DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");
        string fileName = $"Screenshot_{timestamp}.png";
        string filePath = Path.Combine(folderPath, fileName);

        // Chụp và lưu ảnh
        ScreenCapture.CaptureScreenshot(filePath);

        Debug.Log($"Screenshot saved to: {filePath}");
        // Tùy chọn: Hiển thị thông báo cho người chơi
    }
}

Cung cấp chức năng cho người chơi chụp lại khoảnh khắc trong game và lưu thành tệp PNG vào một thư mục được chỉ định.

Bình luận (0)

Bạn cần đăng nhập để có thể bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Bài viết liên quan

Một hệ thống để nhận diện các cử chỉ phổ biến trên màn hình cảm ứng như vuốt (swipe), chụm/zoom (pinch), và chạm (tap).

Mobile
Input
Utility
Gesture

Cho phép người chơi di chuyển nhân vật đến một vị trí trên mặt đất bằng cách chạm vào điểm đó trên màn hình. Sử dụng Raycast để xác định vị trí trong không gian 3D.

Mobile
3D
Movement
Player
Input

Sử dụng Input System mới của Unity để di chuyển nhân vật 2D hoặc 3D một cách hiệu quả và linh hoạt.

2D
3D
Input
Gameplay
Player

Sử dụng cảm biến con quay hồi chuyển (gyroscope) của điện thoại để điều khiển sự xoay của một đối tượng. Hữu ích cho các game đua xe hoặc trải nghiệm VR/AR đơn giản.

Mobile
Input
Movement
Rotation
Sensor

Một hệ thống để tặng quà cho người chơi khi họ đăng nhập mỗi ngày, sử dụng PlayerPrefs để theo dõi thời gian đăng nhập cuối cùng.

Gameplay
Saving
Daily Reward
Timer

Hiển thị một khung thông tin (tooltip) khi người dùng di chuột qua một đối tượng UI. Gồm 3 scripts: TooltipTrigger để kích hoạt, Tooltip để hiển thị, và TooltipManager (Singleton) để quản lý.

UI
Tooltip
Input

Tạo một joystick ảo có thể di chuyển bằng cách kéo thả trên màn hình cảm ứng. Yêu cầu 2 đối tượng Image UI cho background và handle của joystick.

Mobile
UI
Input
Player
Movement

Một hệ thống UI cho phép người chơi kéo thả vật phẩm giữa các ô trong kho đồ. Yêu cầu một CanvasGroup trên prefab của item để xử lý raycast.

UI
Inventory
Drag and Drop
Input

Sử dụng thư viện Newtonsoft.Json (Json.NET) để serialize và deserialize đối tượng C# thành chuỗi JSON, sau đó lưu vào tệp. Đây là một cách mạnh mẽ và linh hoạt để quản lý dữ liệu phức tạp. Yêu cầu đã cài đặt gói 'com.unity.newtonsoft-json'.

Data Persistence
Saving
JSON
Newtonsoft

Một cách đơn giản để lưu trữ dữ liệu người chơi như điểm số, cài đặt... PlayerPrefs phù hợp cho các dữ liệu nhỏ và không yêu cầu bảo mật cao.

Data Persistence
Saving
PlayerPrefs