unity3d一个简单的对打游戏
我发现没有动画想做什么都不行噢~~~,这个动画还是一个大侠给我的,网上找了很多bip动作文件,但是转成FBX格式不行,好像是版本不一样的缘故。后来为了做进度条我之前学了一下EZGUI,但是没有得到想要的效果,高手说是因为没有SM2的缘故,后来我又学习iGUI,的确简单又多用,不错哦~~~至于NGUI我还没用过,以后看看再说~~~呵呵呵,如果要说他们的区别的话,EZGUI是3D的,但是控件较少;iGUI简单易用,控件多,是2D的和unity本身的GUI相似,NGUI没用过还不知道噢~~~~。还有就是我一运行unity就卡死,害我做了半天的东西都没保存噢,大家一定要多保存哈~~~找了半天原因,后来发现原来是我在update函数里面写了一个while循环,把while改成if就好了(千万别在update里面用while,一不小心就卡死咯,要用的话在start里面可以的)。
下面看看今天的demo吧,如果不懂动画的兄弟,可以先去前面看看我写的一个动画的博文,应该是看得懂的啦。我把这个demo的工程放到资源里面去了,里面有动画的,大家可以去下来看看哈~~~~~
注意:这里面没有用碰撞检测,因为如果要发生碰撞的话,刀可能会飞的,而且也砍不下去啊,所以只能用触发器了。
下面简单来说说触发器的用法吧,和碰撞一样,必须至少有一个物体有rigidbody,而且两个物体必须都有含有触发器的的collider,我们这用boxcollider(meshcollider不能触发),而且在collider中的Is Trigger要勾上哦~~~~
我们的游戏对象控制代码player.js:
//游戏角色的移动控制
var playerprogressbar:iGUI.iGUIProgressBar;
var play1:boolean=true;
var isdie:boolean=false;
function Update(){
if(!isdie){if(Input.GetKey(KeyCode.UpArrow)){animation.Play("walk"); transform.Translate(Vector3.forward*1*Time.deltaTime);} if(Input.GetKey(KeyCode.DownArrow)){transform.Rotate(Vector3.up*180);}if(Input.GetKey(KeyCode.RightArrow)){transform.Rotate(Vector3.up*10);}if(Input.GetKey(KeyCode.LeftArrow)){transform.Rotate(Vector3.up*-10);}if(Input.GetKey(KeyCode.Space)){animation.Play("attack"); }if (!animation.isPlaying){animation.Play("Take 001");} }
}
//游戏对象的血条控制
function OnTriggerEnter(obj:Collider){if(obj.gameObject.name!="playerarrow"){if(playerprogressbar.value!=0){playerprogressbar.value-=10; print(obj.gameObject.name);} else{animation.Play("die");isdie=true;}}
}
敌人的游戏对象控制代码 enemy.js:
var player:Transform;
var flag:boolean=true;
var enemyprogressbar:iGUI.iGUIProgressBar;
function Update () { if(flag){animation.Play("walk");transform.LookAt(player);transform.Translate(Vector3.forward*0.5*Time.deltaTime); }if(Vector3.Distance(player.position,transform.position)<3){flag=false;animation.Play("attack");}else{flag=true;}
}
function OnTriggerEnter(obj:Collider){if(obj.gameObject.name!="enemyarrow"){if(enemyprogressbar.value!=0){enemyprogressbar.value-=10; print(obj.gameObject.name);} else{animation.Play("die");}}
}
unity3d一个简单的对打游戏相关推荐
- python和java的格斗动画_Unity3D一个简单的对打游戏
我发现没有动画想做什么都不行噢~~~,这个动画还是一个大侠给我的,网上找了很多bip动作文件,但是转成FBX格式不行,好像是版本不一样的缘故.后来为了做进度条我之前学了一下EZGUI,但是没有得到想要 ...
- python编写赛车游戏单机版_使用Python中OrderedDict模拟一个简单的竞速游戏排名
上一篇,我们梳理了Python中关于字典排序的一些常用方法(杂乱无章的数据结构如何进行排序,简明讲述Python字典排序那些事).其中,我们讲到了Python的collections模块中的Order ...
- pygame做一个简单的打字游戏
pygame做一个简单的打字游戏 1.基本代码 下面的代码完成了每一秒在界面的顶部随机生成一个新的字母 # -*- coding=utf-8 -*- import pygame from pygame ...
- Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏
Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏 即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的.实际上,Unity在2013年发布 ...
- 怎么用python编简单游戏_用Python实现一个简单的算术游戏详解
用Python实现一个简单的算术游戏 #!/usr/bin/env python from operator import add, sub from random import randint, c ...
- python与数学关系大吗_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别...
原标题:通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别 前言 我想很多人在小时候都玩过这么一个游戏,我记得以前的摩托罗拉的手机里面就有,那就是汉诺塔! 看到图片是不是想起来玩过这个游戏呢? ...
- unity编写一个简单的小游戏
unity编写一个简单的小游戏 简易fly bird的制作 关于flybird 场景的搭建和素材的导入 使用素材搭建game和scene 制作柱体 bird的script column的sprite ...
- Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)
懒骨头(http://blog.csdn.net/iamlazybone QQ124774397 青岛 ) 或许有天 我们羡慕和崇拜的人 因为我们的努力 也会来了解我们 说不定 还会成为好友 骨头喜 ...
- Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)...
2019独角兽企业重金招聘Python工程师标准>>> 或许有天 我们羡慕和崇拜的人 因为我们的努力 也会来了解我们 说不定 还会成为好友 骨头喜欢这样与哲哲共勉 多少个夜晚 一张长 ...
最新文章
- 在腾讯待了 9 年,还是离了职
- 在Ubuntu kylin 14 64位上flashplayer 插件
- C语言流程控制语句——3个循环语句和一个条件语句
- centos 磁盘扩容,新建lv
- 不只是舒适,简直是享受,Google公司用的腰靠,到底有什么秘密?
- 小程序助手多功能微信小程序反编译工具
- 机器学习实战(四)逻辑回归LR(Logistic Regression)
- java collection key_Java Collection总结
- 新知识点!一文告诉你如何调试运行在Docker容器中的远程Node.js应用程序
- 哈夫曼树构造及哈夫曼编码
- servlet mysql jsp视频_jsp+servlet+mysql实现的在线图书商城源码附带视频指导运行教程...
- 数学乐 --- 对数函数(指数函数的反函数)
- Java I/O体系(三)
- FaceBook爬取库:facebook-scraper
- 基于SNMP的网络拓扑结构自动发现研究
- 计算机领域名人事迹及意义,关于电脑的好处的名人名言-关于电脑时代需要练字的相关事例和名人名言?...
- TP-LINK路由器作为副路由器之Lan接口连接详解
- 编译并测试 android goldfish kernel x86
- 炒鸡蛋的制作.简简单单炒鸡蛋,吃了都说好
- 软件集成策略——如何有效率地提升质量