【发布时间】:2017-06-09 04:17:52
【问题描述】:
我正在开发一款纸牌游戏,但无法让纸牌出现在屏幕上。有谁知道我怎样才能让它们出现在屏幕底部,每张卡之间有间隙?这个想法类似于纸牌,当你点击一张卡片时,它会移动到其他卡片上方并显示所有统计数据。
我的玩家管理器代码:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class s_PlayerManager : MonoBehaviour {
public bool isAi;
public s_DeckSetUp deckManager;
public List<Card> PlayerDeck = new List<Card>();
public List<Card> PlayerHand = new List<Card>();
public List<Card> PlayerGrave = new List<Card>();
public Card selectedCard;
private int totalHandCount = 5;
public int cardCount = 0;
void Start(){
deckManager = GameObject.Find("Deck Manager").GetComponent<s_DeckSetUp>();
}
public void StartDeck(){
for(int a = 0; a < deckManager.DeckAllCards.Count; a++){
int b = Random.Range(0, deckManager.DeckAllCards.Count);
PlayerDeck.Add(deckManager.DeckAllCards[b]);
}
DrawHand();
EventSystem.current.currentSelectedGameObject.SetActive(false);
}
public void DrawHand(){
for(cardCount = 0; cardCount < totalHandCount; cardCount++){
int b = Random.Range(0, PlayerDeck.Count);
PlayerHand.Add(PlayerDeck[b]);
PlayerDeck.RemoveAt(b);
}
}
public void CardDraw(){
if(cardCount < totalHandCount){
int b = Random.Range(0, PlayerDeck.Count);
PlayerHand.Add(PlayerDeck[b]);
PlayerDeck.RemoveAt(b);
cardCount++;
}
}
}
它负责创建玩家牌组,并绘制前 5 张牌。 CardDraw 函数通过单击 UI 按钮触发。谁能告诉我如何让卡片出现在屏幕上?我在项目文件中有卡片艺术。任何帮助是极大的赞赏。我还在 Unity 论坛上发布了这个: https://forum.unity3d.com/threads/making-cards-appear-on-screen.475335/
【问题讨论】:
-
您是否正在为根据手牌数量定位牌而苦恼?或者更多关于如何在屏幕上显示精灵?或者也许如何在世界空间中获得卡片的正确位置?
-
我正在努力解决这一切。我什至不知道如何开始。