部分代码如下
Void OnGUI()
{
GUI.matrix=Matrix4x4.TRS(Vector3.zero,Quaternion.identity,new Vector3(GUIR.wscale,GUIRoot.hscale,I));
windowRect = GUI.WindowRect,DoMyWindow,””);
)
Void DoMy Window(int windoeID)
{
GUI.Label(new Rect(100,5,100,50),”登录验证”,labeIStyle);
GUI.Label(new Rect(40,65,60,40),”用户名”,labeIStyle);
name=GUI.TextField(new Rect(105,75,100,20),name,15);
GUI.Label(new Rect(40,130,60,60),”密码”,labeIStyle);
pwd=GUI.TextField(new Rect(105,145,100,20),pwd,15);
if(GUI.Button(new Rect(100,200,100,40)”Login”))
{
}
}
射的火焰,滚滚的浓烟、萤火虫、雨、雾或者你可以想到的其他任何效果,这些效果通常称为粒子效果(particle effect)这里主要讲述的是枪支射击火焰效果的实现。
首先导入枪支模型,为了增加真实性。在枪口位置设置一个子物体,其子物体展示粒子效果(GameObject——ParticleSystem)其粒子效果充当火焰特效。
游戏粒子效果如图所示:
基本知识
动画是预制的可视动作集,在2D游戏中,这涉及具有多福顺序的图像,并且可以非常快的翻转他们,结果就是对象看似在移动。这种效果类型于老式的翻转书,3D世界里的动画有很大的差别。在3D游戏中,使用模型来表示游戏实体,不能简单地在模型只见切换,以提供运动的幻觉。
Animation运用
射击及换子弹动画的实现,首先在Unity Asset Store中下载所需的模型并导入,动画通常是作为模型的一部分出现的辅助卡盟,Animations选项卡中包含管理内置的动画所需的所有属性和控制选项。
将动画拖到Animation组件的Animations属性上,把它们应用于模型,这样使动画可供模型使用,但是不会实际的创建模型的动画,在多个动画间的切换通过脚本完成,C#脚本如下:
void Start ()
{
aui = this.GetComponent();//获取AudioSource的组件
A = Q.GetComponent();//获取Animation的组件
}
void Update ()
{
if (!A.IsPlaying ("Gun02Reload"))
{
if (Input.GetMouseButtonDown (0)&&IsAttck==true )
{
Zcount++;//计算子弹个数
if (Zcount==5) {
A.Play("Gun02Reload");
Zcount = 0;
} else {
A.Play("Gun02Shoot");
}//判断播放动画
IsAttck = false;//禁止开枪
Invoke ("OnAttck", 1.2f);//通过延迟12S允许开枪
aui.clip = G;
aui.Play();//播放开枪音效
L.transform.gameObject.SetActive(true );//火焰粒子效果开启
Invoke ("OFFL", 0.1f);//通过0.1S延迟关闭粒子效果