• 大小: 38.91MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-17
  • 语言: 其他
  • 标签: FPSUnity3D  

资源简介

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.framework.dll

     文件     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.xml.dll

     文件       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.xml

     文件    2115520  2017-01-12 05:17  FPS程序\FPS_release_Data\Mono\mono.dll

............此处省略1895个文件信息

评论

共有 条评论

相关资源