当前位置: 代码迷 >> 综合 >> 合力做的第一个项目.day10
  详细解决方案

合力做的第一个项目.day10

热度:52   发布时间:2023-12-06 14:03:10.0

        年前年后都蛮忙的,今天才重拾代码。

        今天尝试把卡牌的战斗场景做了,配置了手牌区、抽牌堆。我在编写的过程中发现了问题:每一次抽牌之后需要重新对抽牌堆进行赋值,之后进行洗牌,但是我使用了原卡组只能赋值一次,之后就为原卡组因为赋了值而变为null,下次抽牌的时候就会导致抽牌堆也变为null(两个卡组的类型均为集合),于是我花了一些时间寻找到了许多种复制的方法,最终采用了最简单的一种:

List<Card> playerDeck = new List<Card>(deck.ToArray());

这样就能较为容易的实现复制了。

接下来我认为卡牌的大小在场景中还是太大了,我的打算是削去卡牌的描述,转为只显示卡面和描述、费用。当鼠标悬停在卡牌上时,跟随鼠标的位置显示效果描述。

今天做了悬停时获得信息,得知了OnMouseOver()这个事件函数时当悬停时触发。

void OnMouseOver()
{Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if (Physics.Raycast(ray, out hit)){Debug.Log(hit.collider.gameObject.GetComponent<ShowCardInfo>().card.Name);switch (hit.collider.gameObject.GetComponent<ShowCardInfo>().card.Type){case 0://BaseCardvar baseCard = hit.collider.gameObject.GetComponent<ShowCardInfo>().card as         BaseCard;Debug.Log(baseCard.Name + baseCard.Damage);break;case 1://SkillCardvar skillCard = hit.collider.gameObject.GetComponent<ShowCardInfo>().card as SkillCard;Debug.Log(skillCard.Name + skillCard.Effect);break;}}
}

今天也和其它人使用了PlasticSCM进行了交接,开始进行多人项目的尝试了!

今天先这样,明天开始就要好好的写代码了!