您的位置:首页 > 移动开发 > Unity3D

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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: