使用Unity制作简单计算器

本次实验主要使用IMGUI提供的API进行编程,使用MVC的编程思想进行代码组织

视频链接

使用Unity编写简单计算器

IMGUI介绍

在这里插入图片描述
IMGUI一般有以下作用:

  • 创建游戏内调试显示和工具
  • 为脚本组件创建自定义检视面板
  • 创建新的编辑器窗口和工具以扩展 Unity 本身

MVC模式介绍

在这里插入图片描述

代码实现

using UnityEngine;

public class SimpleCalculator : MonoBehaviour
{
    private string input1 = "";
    private string input2 = "";
    private string operation = "";
    private string result = "";

    void OnGUI()
    {
        // 放置基本的UI界面
        GUI.Label(new Rect(10, 10, 100, 20), "Number 1:");
        input1 = GUI.TextField(new Rect(120, 10, 100, 20), input1);

        GUI.Label(new Rect(10, 40, 100, 20), "Operator (+, -, *, /):");
        operation = GUI.TextField(new Rect(160, 40, 40, 20), operation);

        GUI.Label(new Rect(10, 70, 100, 20), "Number 2:");
        input2 = GUI.TextField(new Rect(120, 70, 100, 20), input2);

        // 放置计算按钮
        if (GUI.Button(new Rect(10, 100, 100, 30), "Calculate"))
        {
            Calculate();
        }

        // 结果显示
        GUI.Label(new Rect(10, 140, 200, 20), "Result: " + result);
    }

    //计算过程
    private void Calculate()
    {
        float num1, num2;
        if (float.TryParse(input1, out num1) && float.TryParse(input2, out num2))
        {
            switch (operation)
            {
                case "+":
                    result = (num1 + num2).ToString();
                    break;
                case "-":
                    result = (num1 - num2).ToString();
                    break;
                case "*":
                    result = (num1 * num2).ToString();
                    break;
                case "/":
                    if (num2 != 0)
                        result = (num1 / num2).ToString();
                    else
                        result = "Cannot divide by zero!";
                    break;
                default:
                    result = "Invalid operator!";
                    break;
            }
        }
        else
        {
            result = "Invalid input!";
        }
    }
}

效果演示

  1. 将上述C#代码拖入到Main Camera中,点击运行,出现以下界面
    在这里插入图片描述
  2. 在画面左上角即是通过IMGUI搭建出来的简易计算器,输入 1+21*21-2进行测试,可见都能正确计算
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值