[Unity3D]水族馆游戏教程三

这篇教程介绍了如何在Unity3D中为水族馆游戏实现鱼的AI游动。首先,通过修改鱼缸脚本计算鱼缸边界并限制鱼的位置在鱼缸内。接着,创建了FishAI脚本,设定随机出生点和目标点,使鱼能游向目标,并使用四元数的Slerp进行方向更新。通过Unity Editor检查和修正代码,最终实现鱼在鱼缸内自由游动的效果。
摘要由CSDN通过智能技术生成

0.前言

本次内容,将初步实现鱼的AI的游动。鱼AI作为游戏的核心功能,后续将会对AI进行丰富和优化。但首先,我们先让鱼儿游动起来,给自己一小丢丢成就感!

1.鱼缸脚本修改

我们希望鱼的活动都是在鱼缸内,并且鱼的出生位置随机,因此,需要先计算出鱼缸的边界范围。

在Tank.cs脚本中,添加鱼缸边界位置变量,对外只读不能修改,并且在Awake()方法中,对边界位置进行初始化计算。

Tank的transform的位置是鱼缸的中心,因此,计算边界的时候,使用长、宽、高的一半。

    private float _minWidthPos;
    private float _maxWidthPos;
    private float _minHeightPos;
    private float _maxHeightPos;
    private float _minDepthPos;
    private float _maxDepthPos;
    public float minWidthPos
    {
        get
        {
            return _minWidthPos;
        }
    }
    public float
设计一个基于Java的水族馆管理系统通常会包含以下几个关键部分: 1. **登录模块**: - **用户模型**: User.java,包括用户名(username)、密码(password)等字段,并提供相关的getter和setter方法。 - **登录界面**: 使用Swing或Spring Boot等框架创建GUI,包含输入框、按钮等元素,用于接收用户的用户名和密码。 - **登录处理器**: LoginController.java,处理用户输入并验证,一般通过`AuthenticationService`进行密码加密比对。 ```java public class LoginController { private AuthenticationService authService; public void login(String username, String password) { try { // 加密用户密码 String hashedPassword = authService.hashPassword(password); boolean isMatch = authService.authenticate(username, hashedPassword); if (isMatch) { // 登录成功,跳转到主页面 // ...此处省略登录成功的逻辑... } else { // 显示错误信息 JOptionPane.showMessageDialog(null, "用户名或密码错误"); } } catch (Exception e) { System.out.println("登录失败:" + e.getMessage()); } } } ``` 2. **AuthenticationService**: - 这是一个业务服务类,负责密码的存储和加密以及身份验证。 ```java @Service public class AuthenticationService { @Autowired private UserRepository userRepository; // 对密码进行哈希处理 public String hashPassword(String password) { return BCrypt.hashpw(password, BCrypt.gensalt()); } // 验证用户提供的密码是否匹配数据库中的哈希值 public boolean authenticate(String username, String hashedPassword) { User user = userRepository.findByUsername(username); return user != null && BCrypt.checkpw(password, user.getPassword()); } } ``` 这里假设存在UserRepository作为数据访问层,它负责从数据库查询用户信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

延澈左

小小心意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值