python和java的格斗动画_Unity3D一个简单的对打游戏
我發現沒有動畫想做什么都不行噢~~~,這個動畫還是一個大俠給我的,網上找了很多bip動作文件,但是轉成FBX格式不行,好像是版本不一樣的緣故。后來為了做進度條我之前學了一下EZGUI,但是沒有得到想要的效果,高手說是因為沒有SM2的緣故,后來我又學習iGUI,的確簡單又多用,不錯哦~~~至于NGUI我還沒用過,以后看看再說~~~呵呵呵,如果要說他們的區別的話,EZGUI是3D的,但是控件較少;iGUI簡單易用,控件多,是2D的和unity本身的GUI相似,NGUI沒用過還不知道噢~~~~。還有就是我一運行unity就卡死,害我做了半天的東西都沒保存噢,大家一定要多保存哈~~~找了半天原因,后來發現原來是我在update函數里面寫了一個while循環,把while改成if就好了(并不是一用while就卡,就是用的不恰當而已~~~)。
下面看看今天的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");
}
}
}具體下載目錄在 /2012年資料/4月/17日/Unity3D一個簡單的對打游戲/
總結
以上是生活随笔為你收集整理的python和java的格斗动画_Unity3D一个简单的对打游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【智能仪器】基于python的非线性校正
- 下一篇: 用HTML5开发打包本地桌面应用