java基础人机猜拳

java基础人机猜拳先看场景搭建 这个场景搭建的比较简单 有美术癖好的同学可以升级的华丽一点 场景 第一个代码 1 BaoLQManager cs 场景中找个空物体挂上去 不要忘了赋值球的刚体到变量里 这个脚本实现了基本的保龄球游戏逻辑 java 基础人机猜拳包括拿到保龄球的钢体组件 扔球功能 挂载效果 现在你已经实现了按下空格让小球受力往前跑 下面是详细介绍 public Rigidbody

大家好,我是讯享网,很高兴认识大家。



先看场景搭建

这个场景搭建的比较简单,有美术癖好的同学可以升级的华丽一点

场景

1.BaoLQManager.cs

场景中找个空物体挂上去,不要忘了赋值球的刚体到变量里!

这个脚本实现了基本的保龄球游戏逻辑,java基础人机猜拳包括拿到保龄球的钢体组件+扔球功能。 

 
 讯享网 

挂载效果:

现在你已经实现了按下空格让小球受力往前跑!

下面是详细介绍:

public Rigidbody BaoLqRIGI; // 获取保龄球的刚体组件

public float ForceStrength = 100f; // 定义施加力的强度

bool IsShot = true; // 这是一个开关,用来控制是否允许加力

BaoLqRIGI:保龄球的刚体组件,用于控制保龄球的运动。

ForceStrength:施加力的强度,控制保龄球被扔出去的力度。

IsShot:一个开关变量,用于控制是否允许给保龄球加力。

Start 方法

void Start()

{

    IsShot = true; // 初始化开关,允许加力

}

在游戏开始时,初始化 IsShot 为 true,允许加力。

FixedUpdate 方法

void FixedUpdate()

{

    // 检查保龄球的刚体组件是否存在

    if (BaoLqRIGI != null)

    {

        // 检查用户是否按下鼠标左键或空格键,并且是否允许加力

        if ((Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space)) && IsShot)

        {

            // 给保龄球添加一个爆发力,方向为正Z轴,力的大小为ForceStrength

            BaoLqRIGI.AddForce(new Vector3(0, 0, 1 * ForceStrength * Time.deltaTime), ForceMode.Impulse);

            // 设置开关为false,防止重复加力

            IsShot = false;

        }

    }

    else

    {

        // 如果保龄球的刚体组件不存在,输出调试信息

        Debug.Log("你的球已经没有了,怎么还在点");

    }

}

FixedUpdate 方法在每一帧中调用,用于处理物理相关的更新。

首先检查保龄球的刚体组件 BaoLqRIGI 是否存在。

如果存在,检查用户是否按下鼠标左键或空格键,并且 IsShot 为 true。

如果条件满足,给保龄球施加一个爆发力,方向为正Z轴,力的大小为 ForceStrength。

施加力后,将 IsShot 设置为 false,防止重复加力。

如果保龄球的刚体组件不存在,输出调试信息。

总结:

这个脚本的逻辑可以总结为以下几个步骤:

初始化:

在 Start 方法中,初始化 IsShot 为 true,允许加力。

物理更新:

在 FixedUpdate 方法中,每一帧检查保龄球的刚体组件是否存在。

如果存在,检查用户是否按下鼠标左键或空格键,并且 IsShot 为 true。

如果条件满足,给保龄球施加一个爆发力,方向为正Z轴,力的大小为 ForceStrength。

施加力后,将 IsShot 设置为 false,防止重复加力。

如果保龄球的刚体组件不存在,输出调试信息。

这个脚本实现了基本的保龄球扔出去的功能,通过用户输入来控制保龄球的运动。后续可以扩展这个脚本,添加碰撞检测、分数计算和柱子消失等功能。

2.BLqCollision  

这个脚本实现了保龄球的碰撞检测和分数计算功能,并且在特定条件下销毁碰撞到的物体或保龄球本身。

讯享网

详细注释:

变量声明:

YourScore:一个整数变量,用于存储分数。

Start 方法:

初始化 YourScore 为 0。

OnCollisionEnter 方法:

当有物体碰撞到保龄球时调用此方法。

输出调试信息,表示有物体碰撞到了保龄球。

获取碰撞到的物体的名称。

检查碰撞到的物体是否是 "Road" 或 "Plane"。

如果是 "Road" 或 "Plane",输出调试信息,表示没有撞到有效的目标。

如果不是 "Road" 或 "Plane",则分数加1,并输出调试信息,显示当前分数和碰撞到的物体名称。

OnCollisionExit 方法:

当保龄球离开一个碰撞器时调用此方法。

输出调试信息,表示保龄球离开了某个碰撞器。

检查离开的物体是否是 "Road"。

如果不是 "Road",则在2秒后销毁离开的物体。

如果是 "Road",则立即销毁保龄球,并输出调试信息,表示立即销毁保龄球。

OVER!

恭喜你完成游戏!

小讯
上一篇 2024-12-25 21:24
下一篇 2024-12-31 08:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/922.html