Unity回合制游戏模板脚本 回合制游戏模板 - Unity该项目包含一个回合制游戏的核心实现和基本功能,在干净的存储库中工作,因此每次出现新项目/原型时,您都可以使用此实现而不是重建基本的过场回合机制。这是一个Unity3 2019.2.7f2项目。它包含: 1.两个玩家,顶部和底部; 2.(可以扩展到更多玩家)事件,例如开始和结束匹配与UI集成; 3.事件,例如玩家开始和完成回合也与简单的UI集成; 4.重启点。
2024-05-14 12:41:49 204KB unity
1
unity3d回合制格斗游戏源码 里面包含两个UnityPackage包,使用时请看清 Unity精品小游戏源码 , Unity完整项目源码 是Unitypackage包 , 新建空项目直接导入到项目里面就可以运行了,无需其他操作,适合二次开发和学习使用,都是经典游戏,需要其他游戏源码包可以看我主页 直接可以运行 , 如果运行不了 请切换编译器版本 2021 3.14版本编译器测试没问题 其他版本请自行尝试 有需要可以通过我的主页联系 谢谢 Unity游戏代码 ,Unity经典游戏源码 , Unity休闲游戏源码, Unity容易上手的游戏源码
2022-12-07 13:26:15 188.05MB Unity unity游戏源码 Unity项目 格斗游戏源码
1
#游戏框架 GameFramework 是一个轻松开发回合制游戏的框架 启动服务器: 启动mongo进程: $ mongod --dbpath ~ /Path/to/my/db 启动 sinatra: $ cd bin/ $ ./launch_sinatra 创建用户 $ ruby lib/gameframework/domain/create_user.rb < user> < password> 在浏览器中访问localhost:10000/web/index.html 发布移动到 tictactoe 比赛: curl -v -XPOST -d'{"id":"move", "params":{"x":0, "y":0}}' 认证 $ curl -XPOST http://localhost:10000/auth ? username= < name>& pas
2022-09-07 23:27:20 2.43MB JavaScript
1
回合制自己写的 战斗DEMO 加动画状态 Q键移动并攻击。 代码很简单。不要抱有太大希望 。作为新手学习使用。 public enum HeroStatus { idle = 0, //空闲 attack, //攻击 other, //其他 hit, //受击 die, //死亡 defense, //防御 cast, //施法 miss, //闪避 seriousInjury, //重伤 move, //移动 exit, //获取下一个状态 MAX, } public class hero : MonoBehaviour { public UISpriteAnimation m_spriteAnimation = null; public HeroStatus m_staus = HeroStatus.exit; //身体碰撞盒 public BoxCollider m_bodyBC = null; public string m_name = ""; public AttackCrash m_attackCrash = null; public byte m_posIndex = 0; void Awake() { m_spriteAnimation = transform.GetComponent(); m_bodyBC = transform.GetComponent(); } // Use this for initialization void Start () { m_spriteAnimation.AddFrameCallBack("attack", 1, AttackCallBack); m_spriteAnimation.AddFrameCallBack("attack", 4, AttackCallBack); m_spriteAnimation.AddFrameCallBack("attack", 7, AttackCallBack); } public float m_speed = 1f; public float m_offset = 0.5f; public Vector3 m_destination = Vector3.zero; public List m_actionList = new List(); // Update is called once per frame void Update () { switch (m_staus) { case HeroStatus.idle: //空闲状态 if (m_actionList.Count > 0) m_staus = HeroStatus.exit; break; case HeroStatus.attack: if (!m_spriteAnimation.isPlaying) { //攻击动画播放完毕 m_staus = HeroStatus.exit; } break; case HeroStatus.defense: transform.position = Vector3.MoveTowards(transform.position, m_destination, m_speed * Time.deltaTime); if (transform.position == m_destination) m_staus = HeroStatus.exit; break; case HeroStatus.hit: transform.position = Vector3.MoveTowards(transform.position, m_destination, m_speed * Time.deltaTime); if (transform.position == m_destination) m_staus = HeroStatus.exit; break; case HeroStatus.die: break; case HeroStatus.cast: break; case HeroStatus.miss: break; case HeroStatus.seriousInjury: break; case HeroStatus.move: transform.position = Vector3.MoveTowards(transform.position, m_destination, m_speed * Time.deltaTime); if (transform.position == m_destination) m_staus = HeroStatus.exit; break; case HeroStatus.exit: //获取下一个状态 if (m_actionList.Count > 0) { string str = "idle"; switch(m_actionList[0].status) { case HeroStatus.move: str = "idle"; break; default: str = Enum.GetName(typeof(HeroStatus), m_actionList[0].status); break; } m_spriteAnimation.namePrefix = str; m_spriteAnimation.loop = m_actionList[0].loop; m_destination = m_actionList[0].destinationMove; m_speed = m_actionList[0].speed; m_spriteAnimation.ResetToBeginning(); m_staus = m_actionList[0].status; m_actionList.RemoveAt(0); } else { m_spriteAnimation.namePrefix = Enum.GetName(typeof(HeroStatus), HeroStatus.idle); m_spriteAnimation.loop = true; m_spriteAnimation.ResetToBeginning(); m_staus = HeroStatus.idle; } break; // case HeroStatus.moveback: // //transform.position = Vector3.SmoothDamp(transform.position, destinationMove, ref cameraVelocity, smoothTime); // transform.position = Vector3.MoveTowards(transform.position, destinationMove, m_speed * Time.deltaTime); // if (transform.position == destinationMove) // m_staus = HeroStatus.idle; // break; } } public void SetPosition(byte pos, float x, float y) { m_posIndex = pos; transform.localPosition = new Vector3(x, y); } public void AttackCallBack() { //创建攻击特效 A攻击B B掉血222 B反击A闪避 UnityEngine.Object sourceObj = Resources.Load("AttackCrash"); GameObject go = UnityEngine.Object.Instantiate(sourceObj) as GameObject; go.transform.parent = transform; go.transform.localScale = Vector3.one; go.transform.localPosition = new Vector3(-70, 0, 0); } private void OnCollisionEnter(Collision co) { //进入碰撞 Debug.Log("进入碰撞!"); UnityEngine.Object sourceObj = Resources.Load("Effect"); GameObject go = UnityEngine.Object.Instantiate(sourceObj) as GameObject; go.transform.parent = transform; go.transform.localScale = Vector3.one; go.transform.localPosition = new Vector3(0, 0, 0); //Defense(); Hit(); } public void Attack(GameObject aims) { ActionData tmpAD = new ActionData(); tmpAD.status = HeroStatus.move; tmpAD.loop = true; UISprite tmpS = transform.GetComponent(); tmpAD.destinationMove = GameObject.Find("UI Root/Camera").transform.TransformPoint(new Vector3(aims.transform.localPosition.x + (tmpS.width/2), aims.transform.localPosition.y)); tmpAD.speed = Vector3.Distance(transform.position, tmpAD.destinationMove) * 4; //4/1秒到达目的地 m_actionList.Add(tmpAD); ActionData tmpAD1 = new ActionData(); tmpAD1.status = HeroStatus.attack; tmpAD1.loop = false; tmpAD1.destinationMove = Vector3.zero; tmpAD1.speed = 0; m_actionList.Add(tmpAD1); ActionData tmpAD2 = new ActionData(); tmpAD2.status = HeroStatus.move; tmpAD2.loop = true; tmpAD2.destinationMove = transform.position; tmpAD2.speed = Vector3.Distance(tmpAD.destinationMove, tmpAD2.destinationMove) * 4; //4/1秒到达目的地 m_actionList.Add(tmpAD2); } public void Defense() { ActionData tmpAD = new ActionData(); tmpAD.status = HeroStatus.defense; tmpAD.loop = false; tmpAD.destinationMove = GameObject.Find("UI Root/Camera").transform.TransformPoint(new Vector3(transform.localPosition.x - 25, transform.localPosition.y)); tmpAD.speed = 0.25f; //4/1秒到达目的地 m_actionList.Add(tmpAD); ActionData tmpAD1 = new ActionData(); tmpAD1.status = HeroStatus.move; tmpAD1.loop = false; tmpAD1.destinationMove = transform.position; tmpAD1.speed = 0.8f; //4/1秒到达目的地 m_actionList.Add(tmpAD1); } public void Hit() { ActionData tmpAD = new ActionData(); tmpAD.status = HeroStatus.hit; tmpAD.loop = false; tmpAD.destinationMove = GameObject.Find("UI Root/Camera").transform.TransformPoint(new Vector3(transform.localPosition.x - 25, transform.localPosition.y)); tmpAD.speed = 0.3f; //4/1秒到达目的地 m_actionList.Add(tmpAD); ActionData tmpAD1 = new ActionData(); tmpAD1.status = HeroStatus.move; tmpAD1.loop = false; tmpAD1.destinationMove = transform.position; tmpAD1.speed = 0.8f; //4/1秒到达目的地 m_actionList.Add(tmpAD1); } public void Idle() { m_spriteAnimation.namePrefix = Enum.GetName(typeof(HeroStatus), HeroStatus.idle); m_spriteAnimation.loop = true; m_spriteAnimation.ResetToBeginning(); m_staus = HeroStatus.idle; } public void Move() { // //transform.GetComponent().depth = 99; // GameObject go = GameObject.Find("enemy").gameObject; // destinationMove = GameObject.Find("UI Root/Camera").transform.TransformPoint(new Vector3(go.transform.localPosition.x + 98,go.transform.localPosition.y,go.transform.localPosition.z)); // m_speed = Vector3.Distance(transform.position, destinationMove) * 4; //4/1秒到达目的地 // m_staus = HeroStatus.moveto; // m_spriteAnimation.namePrefix = Enum.GetName(typeof(HeroStatus), HeroStatus.idle); // m_spriteAnimation.loop = true; // m_spriteAnimation.ResetToBeginning(); }
2022-07-08 16:27:29 28.62MB Unity
1
C++课程设计需要的哥们可以自提,包含主函数,可以正常一键运行。 3)Soldier被创建后,maxHP和HP为100,maxSP和SP为100,damage为20,exp为0, level为1,drugNum为5; 4)每回合Soldier通过决策(makeDecision)来决定需要发出哪一个动作(攻击attack、休息rest或吃药takingDrug,注意每回合只能做其中一个动作)。请自行设计和调整每种动作发出的必要条件,例如:生命值若低于最大值的30%该回合就吃药,体力低于最大值的50%该回合就休息,生命力和体力都充足该回合就发起攻击,等等; 5)攻击(attack)敌人一次,体力(SP)减少10,经验(exp)增加5。敌人的生命值(HP)减去攻击方攻击力值(damage)的大小。敌人生命值(HP)减少到0时死去,如果敌人被自己打死,获得敌人身上的所有药瓶;WarSystem类可以发出战斗开始即startWar()动作。在startWar()中,随机决定由哪一方率先发起攻击(恐怕是每个回合都随机决定谁先出手会比较公平,如果每回合先出手都是固定一方,那么战斗结果完全是确定性的。
2022-07-06 21:05:38 217KB C++课程设计
Unity3D仿仙剑回合制游戏源码.zip
2022-07-01 14:07:02 74.4MB 源码
回合制demo,windows代码。
2022-06-04 13:20:50 2.51MB 回合制demo
1
#RTRL - 一种类似于 roguelike 的游戏,除了它使用滴答系统(实时)而不是基于回合的系统。 ##概念: 基于刻度,允许更多的自由和一些效果,比如减速,以及允许更合乎逻辑的食物腐烂(7 分钟),而不是基于步骤的腐烂。 接线,所以如果你有工具,你可以破坏我的陷阱,而它看起来不像是一些通用的解除武装系统。 作为一个冲洗器,我将采取一切可能的步骤在不破坏它的情况下尽可能地使其变得困难。 你会饿死,你可以在木门(任何门)上使用火药水,或者把它踢倒,可能会得到碎片杀死你。 有点现实主义,你不能刺伤史莱姆,因为它是凝胶状的。 你也不能燃烧骨骼,因为它们是由骨头构成的,但酸对它们有帮助。 ##敌人: 史莱姆(待办事项): 难度:难 这是做什么的:一个史莱姆会抓住你并慢慢开始吃你。 你会受到酸性伤害,经过足够长的时间,你会受到窒息伤害。 什么可以打败这个:任何会引起火灾的东西
2022-06-02 00:26:03 6.61MB Java
1
代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D Action Game Example 回合制游戏源码代码 3D
2022-05-14 11:05:05 110.65MB 3d 源码软件 游戏
Unity Turn-Based ToolKit (TBTK)2.1.1 f6_回合游戏源码_塔防模板_设施升级,链接:https://pan.baidu.com/s/1zk-58fsvlDS7_jOkU4hn6g,购买之前请先确认链接可用,文件里是链接密码。资源仅供大家学习交流,下载的文件很小,是因为这是网盘的资源链接的密码,资源在网盘中,请大家确认链接有效后,放心下载。
2022-05-11 05:53:56 4B 回合制游戏 源码 塔防模板 模型
1