美文网首页
游戏案例——月圆之夜卡牌展示

游戏案例——月圆之夜卡牌展示

作者: 雷小雷LL | 来源:发表于2019-07-18 19:43 被阅读0次
先上效果图
效果图.png
思路:用到三角形内角和为180°,余弦定理,正弦定理等与三角形相关的属性。其实解决卡牌显示就是一道数学几何题。
几何图如图
几何图.png
求得∠ADG的角度即为每张牌应该旋转的角度值△α , x增量△x,y增量△y
已知AB,DE,r = AD = CD = BD = DG
r² = DH² + GH² 
r² = AE² + ED² 
tan∠ADC = AE / ED           // AE已知,DE已知 , 求出 α = ∠ADC
可求出r = ED / cos∠ADC      // tan∠ADC已知,求出r
已知有x张牌
△α = α / x  
β = ∠GDH = △α*( i - 1 ) - α     //这里要分正负,参考正弦函数图
求出△x增量为 r*sinβ
求出△y增量为 r*cosβ - ED

核心代码如下:

 public void SortCard()
{
    int num = cardItem.Count;
    beYondNum = num;
    Debug.Log("列表长度为:" + num);
    float width = 2 * Screen.width / (3 * maxWidNum) * num; //张开宽度 , 屏幕分辨率的一半/maxWidNum张牌
    if (num >= maxWidNum)
    {
        width = Screen.width / 2;
    }
    float h0 = height;
    float angle = 0;
    float deaAngle = 0;
    if (num > 1)
    {
        angle = Mathf.Atan((width / 2) / h0) * (180 / Mathf.PI);
        deaAngle = 2 * angle / (num - 1);
    }
    float r = Mathf.Abs(h0 / (Mathf.Cos((Mathf.PI / 180) * angle)));
    for (int i =0; i < num; i++)
    {
        float disWidth = r * Mathf.Sin((Mathf.PI / 180) * (deaAngle * i - angle));
        cardItem[i].rectTransform.eulerAngles = new Vector3(0, 0, angle - deaAngle * i);
        float h = 0;
        h = r * Mathf.Cos((Mathf.PI / 180) * (deaAngle * i - angle)) - h0;
        cardItem[i].rectTransform.localPosition = new Vector3(disWidth, h, 0);
    }
}
注:在Unity中需要注意弧度与角度的转化

相关文章

  • 游戏案例——月圆之夜卡牌展示

    先上效果图 思路:用到三角形内角和为180°,余弦定理,正弦定理等与三角形相关的属性。其实解决卡牌显示就是一道数学...

  • App推荐-真理之拳 ★★★★☆

    真理之拳是一款卡牌策略回合游戏。它曾经也火了一段时间,很可惜目前玩的人也不多,相比其他卡牌游戏如月圆之夜简直可以算...

  • 以月圆之夜来讲下国产游戏

    先介绍下《月圆之夜》这款游戏,是一款国产单机卡牌游戏,美术和音乐其实很棒,玩起来很有感觉。 游戏的基本剧情就是小红...

  • 《月圆之夜 》法师通用攻略

    《月圆之夜》是一款独立单机游戏,轻度策略卡牌战斗以及 随机事件探索与冒险,让这款游戏充满了挑战性。下面是法师的通用...

  • 杀戮尖塔

    作为肉鸽卡牌游戏的龙头地位,其中的四个职业和足够多的卡牌已经可以有多种选择和路线。与之有些相似的是月圆之夜。 但相...

  • 月圆之夜:狼人药剂师祝福选择技巧

    月圆之夜是一款卡牌对战类的游戏,其背景就是小红帽真实版的故事。最近更是加入了狼人选择。游戏中为了方便玩家我们都知道...

  • “不服,再开一局就睡觉”“真香”

    今天给大家安利一款 Roguelike + 卡牌向手游——《月圆之夜》,祝大家明年中秋节快乐(x。 作为 RPG(...

  • 月圆之夜:令你欲罢不能的卡牌游戏

    今天给大家安利一款非常好玩的手游——《月圆之夜》。游戏是经典的冒险RPG题材,属于回合制的卡牌类游戏,纯单机,没有...

  • 月圆之夜:噩梦Ⅶ各职业通关攻略

    《月圆之夜》噩梦VII怎么打,全职业噩梦7通关攻略。月圆之夜木匠的抉择版本更新了许多旧卡牌,这也使得许多流派的打法...

  • 游戏推荐《月圆之夜》

    今天给大家推荐一款手机单机游戏《月圆之夜》,我也是偶然在看见的这款游戏,出于无聊去下载了玩玩,起初只有四个职业:女...

网友评论

      本文标题:游戏案例——月圆之夜卡牌展示

      本文链接:https://www.haomeiwen.com/subject/abkllctx.html