资源简介
Unity3D 第一人称射击游戏 可联机 源代码
代码片段和文件信息
// 本机角色脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Character : MonoBehaviour {
// Use this for initialization
void Start() {
// 获取摄像头对象
mCamera = transform.Find(“Main Camera“);
// 获取右手对象
mRightHand = transform.Find(“RightHand“);
// 获取枪声播放组件
mGunAudio = transform.Find(“RightHand/Pistol“).GetComponent();
// 获取火花效果
mFireEffect = transform.Find(“RightHand/Pistol/FireEffect“).GetComponent();
// 获取网络组件
mNetwork = transform.GetComponent();
}
// Update is called once per frame
void Update() {
UpdateFire();
// 发送当前状态到服务端,然后服务端就会转发给其他客户
mNetwork.SendStatus(transform.position transform.eulerAngles
mCamera.eulerAngles mRightHand.eulerAngles _isShooted _hp);
// 处理服务器发过来的数据包,数据包里装着其他客户的信息
ProcessPackage();
}
private Transform mCamera;
private Transform mRightHand;
private AudioSource mGunAudio;
public Gameobject mPiece; // 开枪后撞击产生的碎片
private ParticleSystem mFireEffect; // 开枪后的火花
private bool _isShooted; // 判断是否开了枪
private Network mNetwork; // 网络组件
public Gameobject mEnemyCharacter; // 其他客户的实例
private Hashtable _htEnemies = new Hashtable(); // 其他客户的控制脚本
// 开枪
private void UpdateFire() {
if (Input.GetButtonUp(“Fire1“)) {
// 射击音效与画面
PlayShotSound();
// 播放火花效果
PlayFireEffect();
// 判断射击位置
RaycastHit hit;
if (Physics.Raycast(mCamera.position mCamera.forward out hit 100)) {
// 被枪击中的地方会有碎片弹出
DrawPieces(hit);
}
// 设置开枪判断
_isShooted = true;
} else {
// 设置开枪判断
_isShooted = false;
}
}
// 播放枪声
private void PlayShotSound() {
mGunAudio.PlayOneShot(mGunAudio.clip);
}
// 画碎片
private void DrawPieces(RaycastHit hit) {
for (int i = 0; i < 5; ++i) {
Gameobject p = Transform.Instantiate(mPiece);
// 碎片撞击到物体后的反弹位置
Vector3 fwd = mCamera.forward * -1;
p.transform.position = hit.point;
p.GetComponent().AddForce(fwd * 100);
// 0.3秒后删除
Destroy(p 0.3f);
}
}
// 播放火花效果
private void PlayFireEffect() {
mFireEffect.Play();
}
// 人物变量
private int _hp = 100;
// 受到伤害
public void GetHurt() {
_hp -= 10;
if (_hp <= 0) {
// 复活
Revive();
}
}
// 复活
private void Revive() {
_hp = 100;
transform.position = new Vector3(010);
}
// 处理数据包
private void ProcessPackage() {
Network.Package p;
// 获取数据包直到完毕
while (mNetwork.NextPackage(out p)) {
// 确定不是本机,避免重复
if (mNetwork.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18999296 2017-01-12 05:09 FPS程序\FPS_release.exe
文件 18 2017-02-07 11:44 FPS程序\FPS_release_Data\app.info
文件 24432 2017-02-07 11:44 FPS程序\FPS_release_Data\globalgamemanagers
文件 20288 2017-02-07 11:44 FPS程序\FPS_release_Data\globalgamemanagers.assets
文件 13348 2017-02-07 11:44 FPS程序\FPS_release_Data\level0
文件 131232 2017-02-07 11:44 FPS程序\FPS_release_Data\level0.resS
文件 15872 2017-02-07 11:44 FPS程序\FPS_release_Data\Managed\Assembly-CSharp.dll
文件 293376 2017-01-12 02:43 FPS程序\FPS_release_Data\Managed\Mono.Security.dll
文件 2497024 2017-01-12 02:43 FPS程序\FPS_release_Data\Managed\mscorlib.dll
文件 291328 2017-01-11 17:25 FPS程序\FPS_release_Data\Managed\nunit.fr
文件 265728 2017-01-12 02:43 FPS程序\FPS_release_Data\Managed\System.Core.dll
文件 1069568 2017-01-12 02:43 FPS程序\FPS_release_Data\Managed\System.dll
文件 1232384 2017-01-12 02:43 FPS程序\FPS_release_Data\Managed\System.xm
文件 7168 2017-01-12 04:50 FPS程序\FPS_release_Data\Managed\UnityEngine.Analytics.dll
文件 1379840 2017-01-12 05:03 FPS程序\FPS_release_Data\Managed\UnityEngine.dll
文件 446052 2017-01-12 05:03 FPS程序\FPS_release_Data\Managed\UnityEngine.dll.mdb
文件 252416 2017-01-12 04:50 FPS程序\FPS_release_Data\Managed\UnityEngine.Networking.dll
文件 31744 2017-01-12 04:50 FPS程序\FPS_release_Data\Managed\UnityEngine.TestRunner.dll
文件 244736 2017-01-12 04:50 FPS程序\FPS_release_Data\Managed\UnityEngine.UI.dll
文件 58196 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\1.0\DefaultWsdlHelpGenerator.aspx
文件 17258 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\1.0\machine.config
文件 1605 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\2.0\Browsers\Compat.browser
文件 60453 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\2.0\DefaultWsdlHelpGenerator.aspx
文件 27625 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\2.0\machine.config
文件 2618 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\2.0\settings.map
文件 11686 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\2.0\web.config
文件 311984 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\browscap.ini
文件 1691 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\config
文件 25817 2017-01-12 01:21 FPS程序\FPS_release_Data\Mono\etc\mono\mconfig\config.xm
文件 2115520 2017-01-12 05:17 FPS程序\FPS_release_Data\Mono\mono.dll
............此处省略1895个文件信息
- 上一篇:财政数据挖掘书籍
- 下一篇:安防监控VISIO素材图库
评论
共有 条评论