logo
Khóa học lập trình game server - smartfox - game đa người chơi Học lập trinh game online 3dvietpro Sửa chữa và thiết kế website .net
Welcome Guest! To enable all features please Đăng nhập or Đăng ký.

Thông báo

Icon
Error

Tùy chọn
Xem
Xem bài viết cuối Go to first unread
JungJinHyuk  
#1 Đã gửi : 29/09/2014 lúc 12:18:38(UTC)
JungJinHyuk

Danh hiệu: Administration

Nhóm:
Gia nhập: 20-08-2014(UTC)
Bài viết: 60

Cảm ơn: 2 lần
Được cảm ơn: 2 lần trong 2 bài viết
Đây là bài viết của tác giả tiến nguyễn bên unityviet.
=====================================================
Xin chào tất cả các bạn, hôm nay lại được gặp lại các bạn yêu lập trinh game trong series: Xây dựng hệ thống shop item. Ở phần 2 chúng ta đã xây dựng hoàn tất phần cấu trúc dữ liệu của hệ thống shop (item vehicle), tiếp theo mình sẽ hướng dẫn các bạn load dữ liệu từ database lên và hiện thị lên màn hình để xây dựng hệ thống shop hoàn chỉnh phần giao diện.

Chuẩn bị giao diện:
Đầu tiên chúng ta thiết kế một template giao diện scroll view như thế này:
UserPostedImage

Trong template này chúng ta sử dụng NGUI(download phần tool trong diễn đàn) để xây dựng (mình sẽ có một bài blog nhỏ để hướng dẫn cụ thể việc này sau.

Mình sẽ nói sơ thành phần của template này:

UIPanel (panel bao quanh)
UI2DSprite (để làm background của các panel và item)
UIScrollView
UIGrid (để canh chỉnh các item trong scroll view)
UIButton (để băt sự kiện click)
UILable (để thể hiện tên item, giá và mô tả)
Tiếp theo mình sẽ viết một đối tượng để phụ trách việc lấy thông tin vật phẩm vào fill vào grid của scroll view

Lưu ý: khi tạo xong tempate bạn phải tạo prefab item trong shop đặt vào thư mục Resource để khi load dữ liệu chúng ta sẽ sử trên template đấy để tạo item(như hình dưới).
UserPostedImage

VehicleShop.cs
Mã:
using UnityEngine;
using System.Collections;
using SimpleJSON;
 
public class VehicleShop : MonoBehaviour
{
    public UIPanel contentPanel;
 
    static Object itemStoreObj;
    public UIGrid gridContent;
    public UIScrollView scrollview;
 
    private BetterList<ItemVehicle> itemVehicles;
    private UIDragScrollView gragScrolView;
 
 
    void Start()
    {
        loadFromData();
    }
 
    public ItemVehicle getItem(int index)
    {
        if (index < itemVehicles.size)
        {
            return itemVehicles[index];
        }
        return null;
    }
 
    public void loadFromData()
    {
        contentPanel.alpha = 0;
        TextAsset bindata = Resources.Load(PathData.shop) as TextAsset;
        if (bindata != null)
        {
            var jsonNode = JSONNode.Parse(bindata.text);
            if (jsonNode != null)
            {
                itemVehicles = new BetterList<ItemVehicle>();
                for (int i = 0; i < jsonNode.Count; ++i)
                {
                    ItemVehicle item = createItem();
                    if (item != null)
                    {
                        item.assignData(jsonNode[i]);
 
                        if (gragScrolView == null)
                        {
                            gragScrolView = item.GetComponent<UIDragScrollView>();
                        }
                    }
                }
            }
            gridContent.Reposition();
        }
    }
 
    public ItemVehicle createItem()
    {
        if (itemStoreObj == null)
        {
            itemStoreObj = Resources.Load("Shop/itemPet");
        }
        if (itemStoreObj != null)
        {
            GameObject obj = Instantiate(itemStoreObj) as GameObject;
            if (obj != null)
            {
                obj.transform.parent = gridContent.transform;
                obj.transform.localScale = Vector3.one;
                obj.transform.localEulerAngles = Vector3.zero;
                obj.transform.localPosition = Vector3.zero;
 
                return obj.GetComponent<ItemVehicle>();
            }
        }
        return null;
    }
}

Và khi chạy chúng ta có kết quả:
UserPostedImage

Vậy là chúng ta đã hoàn tất được shop và cơ sở dữ liệu lưu trữ bằng JSON và tempalte rồi.

Đến đây mình xin kết thúc bài viết này và hẹn gặp lại các bạn ở Phần 4: Tích hợp hệ thống thanh toán.

Cảm ơn các bạn đã quan tâm theo dõi, nếu thấy hay thích thì like nếu thấy hay thì share giúp mình nhé.
Bạn bình luận ngay tại đây
Ai đang xem chủ đề này?
Guest
Di chuyển  
Bạn không thể tạo chủ đề mới trong diễn đàn này.
Bạn không thể trả lời chủ đề trong diễn đàn này.
Bạn không thể xóa bài của bạn trong diễn đàn này.
Bạn không thể sửa bài của bạn trong diễn đàn này.
Bạn không thể tạo bình chọn trong diễn đàn này.
Bạn không thể bỏ phiếu bình chọn trong diễn đàn này.

Powered by YAF 2.1.0 | YAF © 2003-2024, Yet Another Forum.NET
Thời gian xử lý trang này hết 0.111 giây.