Unity3d 简单计算器(OnGUI)
2015-07-20 10:32
260 查看
using UnityEngine;
using System.Collections;
public class JiSuanQi : MonoBehaviour {
//用来显示结果
public string strJieguo="0";
//第一个操作数
public static string str1;
//第二个操作数
public static string str2;
//标记符号
public static string str0pt;
//计算结果
float sum=0;
void OnGUI(){
//对数字进行处理
if (GUI.Button(new Rect(0,0,50,30),"1")) {
str1+="1";
strJieguo = str1;
}
if (GUI.Button(new Rect(60,0,50,30),"2")) {
str1+="2";
strJieguo = str1;
}
if (GUI.Button(new Rect(120,0,50,30),"3")) {
str1+="3";
strJieguo = str1;
}
if (GUI.Button(new Rect(180,0,50,30),"4")) {
str1+="4";
strJieguo = str1;
}
if (GUI.Button(new Rect(0,40,50,30),"5")) {
str1+="5";
strJieguo = str1;
}
if (GUI.Button(new Rect(60,40,50,30),"6")) {
str1+="6";
strJieguo = str1;
}
if (GUI.Button(new Rect(120,40,50,30),"7")) {
str1+="7";
strJieguo = str1;
}
if (GUI.Button(new Rect(180,40,50,30),"8")) {
str1+="8";
strJieguo = str1;
}
if (GUI.Button(new Rect(0,80,50,30),"9")) {
str1+="9";
strJieguo = str1;
}
if (GUI.Button(new Rect(60,80,50,30),"0")) {
str1+="0";
strJieguo = str1;
}
//计算符号
if (GUI.Button(new Rect(120,80,50,30),"+")) {
str0pt="+";
print(str2);
if (str1!=null) {
str2=str1;
}
str1="";
strJieguo=str2;
}
if (GUI.Button(new Rect(180,80,50,30),"/")) {
str0pt="/";
if (str1!=null) {
str2=str1;
}
str1="";
strJieguo=str2;
}
if (GUI.Button(new Rect(0,120,50,30),"*")) {
str0pt="*";
if (str1!=null) {
str2=str1;
}
str1="";
strJieguo=str2;
}
if (GUI.Button(new Rect(60,120,50,30),"-")) {
str0pt="-";
if (str1!=null) {
str2=str1;
}
str1="";
strJieguo=str2;
}
if (GUI.Button(new Rect(0,160,50,30),"C")) {
if (str1=="") {
strJieguo="0";
return;
}else{
str1=str1.Substring(0,str1.Length-1);
}
strJieguo=str1;
}
if (GUI.Button(new Rect(120,120,50,30),"=")) {
if (str0pt=="+") {
sum=float.Parse(str2)+float.Parse(str1);
}else if (str0pt=="-") {
sum=float.Parse(str2)-float.Parse(str1);
}else if (str0pt=="*") {
sum=float.Parse(str2)*float.Parse(str1);
}else if (str0pt=="/") {
sum=float.Parse(str2)/float.Parse(str1);
}
str2=sum.ToString();
str1="";
strJieguo=sum.ToString();
}
if (GUI.Button(new Rect(180,120,50,30),"CE")) {
str1="";
str1="";
sum=0;
strJieguo="";
}
GUI.Label (new Rect (300, 0, 100, 30), strJieguo);
}
}
using System.Collections;
public class JiSuanQi : MonoBehaviour {
//用来显示结果
public string strJieguo="0";
//第一个操作数
public static string str1;
//第二个操作数
public static string str2;
//标记符号
public static string str0pt;
//计算结果
float sum=0;
void OnGUI(){
//对数字进行处理
if (GUI.Button(new Rect(0,0,50,30),"1")) {
str1+="1";
strJieguo = str1;
}
if (GUI.Button(new Rect(60,0,50,30),"2")) {
str1+="2";
strJieguo = str1;
}
if (GUI.Button(new Rect(120,0,50,30),"3")) {
str1+="3";
strJieguo = str1;
}
if (GUI.Button(new Rect(180,0,50,30),"4")) {
str1+="4";
strJieguo = str1;
}
if (GUI.Button(new Rect(0,40,50,30),"5")) {
str1+="5";
strJieguo = str1;
}
if (GUI.Button(new Rect(60,40,50,30),"6")) {
str1+="6";
strJieguo = str1;
}
if (GUI.Button(new Rect(120,40,50,30),"7")) {
str1+="7";
strJieguo = str1;
}
if (GUI.Button(new Rect(180,40,50,30),"8")) {
str1+="8";
strJieguo = str1;
}
if (GUI.Button(new Rect(0,80,50,30),"9")) {
str1+="9";
strJieguo = str1;
}
if (GUI.Button(new Rect(60,80,50,30),"0")) {
str1+="0";
strJieguo = str1;
}
//计算符号
if (GUI.Button(new Rect(120,80,50,30),"+")) {
str0pt="+";
print(str2);
if (str1!=null) {
str2=str1;
}
str1="";
strJieguo=str2;
}
if (GUI.Button(new Rect(180,80,50,30),"/")) {
str0pt="/";
if (str1!=null) {
str2=str1;
}
str1="";
strJieguo=str2;
}
if (GUI.Button(new Rect(0,120,50,30),"*")) {
str0pt="*";
if (str1!=null) {
str2=str1;
}
str1="";
strJieguo=str2;
}
if (GUI.Button(new Rect(60,120,50,30),"-")) {
str0pt="-";
if (str1!=null) {
str2=str1;
}
str1="";
strJieguo=str2;
}
if (GUI.Button(new Rect(0,160,50,30),"C")) {
if (str1=="") {
strJieguo="0";
return;
}else{
str1=str1.Substring(0,str1.Length-1);
}
strJieguo=str1;
}
if (GUI.Button(new Rect(120,120,50,30),"=")) {
if (str0pt=="+") {
sum=float.Parse(str2)+float.Parse(str1);
}else if (str0pt=="-") {
sum=float.Parse(str2)-float.Parse(str1);
}else if (str0pt=="*") {
sum=float.Parse(str2)*float.Parse(str1);
}else if (str0pt=="/") {
sum=float.Parse(str2)/float.Parse(str1);
}
str2=sum.ToString();
str1="";
strJieguo=sum.ToString();
}
if (GUI.Button(new Rect(180,120,50,30),"CE")) {
str1="";
str1="";
sum=0;
strJieguo="";
}
GUI.Label (new Rect (300, 0, 100, 30), strJieguo);
}
}
相关文章推荐
- Unity3D 与Android 相互传递消息
- (大数据工程师学习路径)第三步 Git Community Book----Git介绍
- Unity3D的激活方法
- UNITY3D初学笔记
- unity3d的四元数 Quaternion
- Unity3d与设计模式(二)单例模式
- Unity3D与设计模式(一)先从OO和设计模式讲起
- Unity3d角色控制器Character Controller
- Unity3D开发(二):NGUI Sprite在ScrollView下变灰方案
- 【猫猫的Unity Shader之旅】之纹理映射
- [Unity3D]Unity3D自动寻路Demo
- [Unity3D]Unity3D官方案例SpaceShooter开发教程
- Unity协同函数的嵌套使用
- Unity中的模式——协同程序介绍
- (8)unity入门,玩家信息保存PlayerPrefs、IO、数据字典
- (7)unity入门,音乐
- Unity3D使用腾讯广点通广告
- (6)unity入门,脚本
- unity sprite packer注意事项
- 解决当打开Unity时 提示项目已经打开,而自己之前并没有打开过(可能之前异常关闭)的问题