魔塔吧 关注:66,079贴子:2,170,759

【样 板】U3d魔塔参考样板制作直播(不定期更新)

只看楼主收藏回复

好久不在魔塔吧来逛了,今天露个头,给大家发个直播贴(不定期更新)。
由于现在各位主要用RM制作魔塔脚本使用的是Ruby(即使是RGE也仍然是Ruby)。由于RM在功能和自由度上有所限制,所以本人打算换一个引擎制作魔塔。
以前看到一位前辈用u3d造塔,然而是3d的啊?对于用惯了上帝视角的各位,第一人称视角是不是有些不习惯呢233?
好吧,从今天开始我开始直播制作一个unity3d 的 2d 魔塔样板作为各位的参考,并且开源。语言为C#。
顺便说一下,本魔塔的命名非魔塔样板xxx,将以一个游戏的形式发布,但是不影响各位的使用,并且难度不会太大。unity版本是5.1.1f1不过说不准以后会不会去升级


1楼2015-09-10 21:23回复
    二楼保留给发布,禁止回复。


    2楼2015-09-10 21:24
    收起回复
      前几天刚把最基础(注意是最基础)的几个部分做完了。本人是初三党,所以。。。反正请各位谅解。


      3楼2015-09-10 21:28
      回复
        另外各位别吐槽我的美工,这就是为什么我采用了简约。。。


        来自Android客户端4楼2015-09-10 21:39
        回复
          然而你这么做不会提高半点自由度要做一个魔塔那些绰绰有余。有句话叫耗时一天的好办法不如耗时一天的傻办法美工死的早这一定是传说中的简约派嗯嗯另外上帝视角是最简单的让人能够一目了然的分析的布局
          ------------------我知道你们不会看上面的下面才是正文----------------
          LZ你装了B别想跑快到床上来别以为我看不出你是昨天和我搞基的基佬


          IP属地:美国来自Android客户端5楼2015-09-10 21:46
          收起回复
            前排留名。。


            IP属地:上海6楼2015-09-11 05:36
            回复
              u3d的必须支持


              7楼2015-09-11 21:36
              回复
                u3d是啥0.0
                貌似很高端


                IP属地:浙江8楼2015-09-11 21:40
                收起回复
                  unity3d? gj


                  IP属地:江苏9楼2015-09-11 22:22
                  收起回复
                    好厉害,有没有安装包,我找不到程序的安装包。


                    IP属地:河北10楼2015-09-12 08:17
                    收起回复
                      给大家发段怪物的代码using UnityEngine;using System.Collections;using System.Linq;using UnityEngine.UI;using System.Text;public class Monster : MonoBehaviour { [System.Serializable] public class MonsterPower { public int HitPoint; public int Atk; public int Def; public int G_Atk; public int G_Def; public void SetPower(int _HitPoint,int _Atk,int _Def,int _G_atk,int _G_def) { HitPoint = _HitPoint; Atk = _Atk; Def = _Def; G_Atk = _G_atk; G_Def = _G_def; } } [System.Serializable] public class MonsterInfo { public string Name; public MonsterPower Power; public int Money; public string Description; public bool Dead=false; } public MonsterInfo Information; public GameObject InfoPanel; public GameObject FightingAnimation; private PlayerInfo Player;// Use this for initializationvoid Start () { Player = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerInfo>();}// Update is called once per framevoid Update () {} public int CalculateDamage() //计算伤害,-1就是无限 { int Damage = 0; PlayerInfo.PlayerPower NowPlayerPower=Player.Power; MonsterPower NowMonsterPower=Information.Power; if (NowMonsterPower.Def>=NowPlayerPower.Atk) { Damage = -1; return Damage; } Damage = Mathf.CeilToInt(NowMonsterPower.HitPoint / (NowPlayerPower.Atk - NowMonsterPower.Def)) * (NowMonsterPower.Atk - NowPlayerPower.Def) - NowPlayerPower.G_Def; if (Damage<-1) { return 0; } return Damage; } public string TurnDamgeToString() { if (CalculateDamage()==-1) { return "无限"; } else if (CalculateDamage()<-1) { return "0"; } return CalculateDamage().ToString(); } void OnMouseDown() { Debug.Log("怪物被点击了,显示怪物的信息。"); InfoPanel.SetActive(true); Text Info_Title = InfoPanel.transform.FindChild("Title").GetComponent<Text>(); Text Info_Info1 = InfoPanel.transform.FindChild("Info1").GetComponent<Text>(); Text Info_Info2 = InfoPanel.transform.FindChild("Info2").GetComponent<Text>(); Text Info_Properties = InfoPanel.transform.FindChild("Properties").GetComponent<Text>(); Text Info_Money = InfoPanel.transform.FindChild("Money").GetComponent<Text>(); Text Info_Description=InfoPanel.transform.FindChild("Description").GetComponent<Text>(); Text Info_Damgae = InfoPanel.transform.FindChild("Damage").GetComponent<Text>(); Info_Title.text = "怪物属性-" + Information.Name; Info_Info1.text = "血量/攻击/防御:" + Information.Power.HitPoint.ToString()+ "/" + Information.Power.Atk.ToString() + "/" + Information.Power.Def.ToString(); Info_Info2.text = "几何攻击/几何防御:" + Information.Power.G_Atk.ToString() + "/" + Information.Power.G_Def.ToString(); Info_Money.text = "掉落金钱:" + Information.Money.ToString()+"几何币"; Info_Description.text = "描述:"+Information.Description; Info_Damgae.text = "造成伤害:" + TurnDamgeToString(); GlobalGrid.Stat = GlobalGrid.SceneIn.Talking; } public void OnPlayerTouchMonster() { GameObject obj=(GameObject)Instantiate(FightingAnimation, transform.position, transform.rotation); int Damage = 0; Damage = CalculateDamage(); if (Damage==-1) { Application.LoadLevel("Level_End"); } if (Damage<-1) { Damage = 0; } Player.Power.HitPoint -= Damage; if (Player.Power.HitPoint<=0) { Application.LoadLevel("Level_End"); } Information.Dead = true; GetComponent<SpriteRenderer>().enabled = false; }}


                      来自Windows8客户端11楼2015-09-12 08:58
                      回复
                        目前正在做门的动画。。。切图有些幸苦。


                        来自Android客户端12楼2015-09-12 14:54
                        回复
                          2015年9月12日21:25分发布
                          Snapshot Beta 15版本
                          (注意:由于源代码文件较大,快照版不提供代码,暂定开源发布频率为每21天)
                          下 载——链 接:http://pan.baidu.com/s/1sjvF4gH 密 码:l0du


                          13楼2015-09-12 21:26
                          回复
                            snap15真的很简陋啊,不过大家支持啊,你们的支持是我最大的动力!!!


                            14楼2015-09-12 21:29
                            收起回复
                              加油


                              IP属地:陕西来自Android客户端15楼2015-09-13 07:30
                              回复