我发现没有动画想做什么都不行噢~~~,这个动画还是一个大侠给我的,网上找了很多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 拳皇类大型3D格斗游戏源码 街机对战游戏项目 整个项目的完整压缩包 , 直接打开就行 , 无需其他操作 适合二次开发和学习使用 , 如果有问题请切换编译器 或者下载最新编译器 Unity街机游戏源码 Unity3d 拳皇...
Unity 3D的3D横版格斗游戏源码
Unity3d格斗动作游戏源码
unity3d回合制格斗游戏源码 Turn Based Battle System 非常棒的一个项目,是战旗类游戏和格斗游戏的合体,两种游戏的各项功能都具备,支持人机对、机器对机器、双人模式
完备的格斗动作机制,人物使用最终幻想主人公-克劳德,包括行走、跳跃(二段跳跃)、普攻、技能攻击、技能冷却、硬直等格斗动作机制。
Unity 开发的Unity 3D格斗游戏简单原型游戏 效果展示: https://github.com/OmarAlesharie/Fighting-Survival/blob/master/Fighting-Survival/Assets/Screenshots/hit.png 下一步: 1- 改进和重构一些主要类,以更...
unity3d 游戏源码 Boxing Game Starter Kit 拳击项目包 资源.zip
一个基于unity3D的课程小作业,用C#编程实现。需要的可以看一下。
unity3d回合制格斗游戏源码 里面包含两个UnityPackage包,使用时请看清 Unity精品小游戏源码 , Unity完整项目源码 是Unitypackage包 , 新建空项目直接导入到项目里面就可以运行了,无需其他操作,适合二次开发和学习...
一个游戏动画播放的demo,简单明了!适合初学者学习C#代码编写格斗类游戏!
unity3D_5.0街机格斗源码,应该还是可以学习一下的
这是一个3D格斗游戏,使用unity制作,是一款值得学习的资料。
使用Unity制作一个简单的人物和怪物互相攻击的游戏demo。要求将人物放在场景中合适的位置,创建主摄像机,在合适的角度跟随人物移动,实现使用鼠标控制镜头围绕人物转动。实现人物点地移动(4m/s),要求不能穿墙,...
策略游戏,unity3D的源码,可以使用该框架进行街头格斗游戏的制作。 完整的U3D资源 可以直接做单机游戏制作 也可以当作网络游戏的前端基础框架。 良好的前端代码整合。 良好的基础框架。 适合二次开发。 也可以换皮...
Unity3D教程:制作简单小汽车游戏 OnGUI的视觉化编辑 unity3d角色血条 Unity3D格斗游戏运动特效 MenuItem自定义菜单项 Unity3D脚本:导弹追踪代码 Unity3D教程:UI自动适合屏幕分辨率 中慢动作与加速动作的实现 ...
代码 unity3d 源代码 超20个游戏源码包 Starter Pack #1 v1.71代码 unity3d 源代码 超20个游戏源码包 Starter Pack #1 v1.71代码 unity3d 源代码 超20个游戏源码包 Starter Pack #1 v1.71代码 unity3d 源代码 超20个...
unity3D格斗类游戏《一战到底》完整源码 运行环境: Unity5.3.1 一战到底为3D格斗游戏,游戏所用插件:PlayMaker、NGUI、EasyTouch、FXMarker、FT Slasher Volume等。游戏为PVC单机版,所用素材来自Asset Store和...
Unity3d 网络或局域网联机 卡通像素风格格斗对战游戏源码 Unity精品小游戏源码 , Unity完整项目源码 是Unitypackage包 , 新建空项目直接导入到项目里面就可以运行了,无需其他操作,适合二次开发和学习使用,都是经典...
Unity3D格斗游戏运动特效三、景深模糊景深模糊就是模拟人眼或望远镜的成像原理,对远离视线焦点的场景进行模糊,从而提高画面真实感,同时也迫使玩家注意焦点处发生