2013-07-14 21:58:44 wyz365889 阅读数 5242
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

NGUI是用C#编写的Unity(有专业版和免费版)插件,提供强大的UI系统和事件通知框架。

用NGUI插件在unity3D里面开发,需要如下步骤:

1.首先下载免费的NGUI插件,有钱当然可以下载专业版!

下载地址:http://www.tasharen.com/get.php?file=NGUI

2.在Unity3d里面导入下载的NGUI插件,导入完记得refresh刷新下,才会在unity3D菜单栏出现NGUI。


3.导入完毕后,在菜单NGUI里面找到open the UI wizard,创建


4.添加完,继续在菜单NGUI里面找到open the widget wizard,添加计算器要用到的按钮button、标签label


5.添加完毕后,调整界面得到自己想要的效果界面


6.添加C#脚本calc.cs,编写代码如下:

using UnityEngine;
using System.Collections;

public class calc : MonoBehaviour {
	
	public string strPutkeyCode;
	public UILabel strResult;	//结果显示
	public static string str1;	//第一个操作数
	public static string str2;	//第二个操作数
	public static string strOpt;	//标记加减乘除符号

	int sum = 0;	//计算结果
	
	void OnClick()
	{
		if(strPutkeyCode == "=")	//按下=时开始计算
		{
			if(strOpt == "/")
			{
				sum =int.Parse(str2)/int.Parse(str1);
			}
			else if(strOpt == "*")
			{
				sum =int.Parse(str1)*int.Parse(str2);
			}
			else if(strOpt == "+")
			{
				sum =int.Parse(str1)+int.Parse(str2);
			}
			else if(strOpt == "-")
			{
				sum =int.Parse(str2)-int.Parse(str1);
			}
			str1 = "";
			str2 = sum.ToString();
			Debug.Log(sum);
			strResult.text = sum.ToString();
		}
		
		if(strPutkeyCode == "CE") //清零
		{
			Debug.Log("CE");
			strResult.text = "0";
			sum = 0;
			str1 = "";
			str2 = "";
		}
		
		if(strPutkeyCode == "B") //删除一个数字
		{
			Debug.Log("B");
			
			str1=str1.Substring(0,str1.Length-1);
			if(str1 == "")
			{
				strResult.text = "0";
				return;
			}
			strResult.text = str1;
			
		}
		
	
		
		if(strPutkeyCode == "/" || strPutkeyCode == "*" ||strPutkeyCode == "-"||strPutkeyCode == "+")
		{
			strOpt=strPutkeyCode;	//记录按下的操作符,并把原先得到的操作数一str1赋给操作数二str2
			if(str1 != "")
			{
				str2=str1;	
			}
			
			strResult.text = str2;
			Debug.Log("code---");
			str1="";
		}
		
		if(strPutkeyCode =="1" ||strPutkeyCode =="2" ||strPutkeyCode =="3" ||strPutkeyCode =="4" ||
			strPutkeyCode =="5" ||strPutkeyCode =="6" ||strPutkeyCode =="7" ||strPutkeyCode =="8" ||
			strPutkeyCode =="9" ||strPutkeyCode =="0")
		{
			str1 += strPutkeyCode;	//拼接按下的数字
			strResult.text = str1;
			Debug.Log(str1);
		}
	}
	// Use this for initialization
	void Start () {
		
	

	}

	
}
7.最后剩下的就是对象绑定了,把脚本calc.cs和label绑定(即拖)到各个按钮,并为按钮键赋键值,截图其中一个

结果如下:



下载代码地址:http://download.csdn.net/detail/wyz365889/5753403

2018-03-27 09:22:38 qq874455953 阅读数 4805
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

利用Unity3D制作简易2D计算器

标签(空格分隔): uiniy3D


1. 操作流程

在unity3DD中创建一个新项目 注意选择是2D的(因为默认3D)
在这里插入图片描述
在Assets框右键新建C#脚本
![此处输入图片的描述][2]

在新建的C#脚本中写入下列代码

代码下载地址

https://download.csdn.net/download/qq874455953/10310274

https://github.com/wangjiwu/simple-2D-cacluator

把脚本拖入到Main Camera中

![此处输入图片的描述][4]
运行查看结果
在这里插入图片描述

附一个用Unity3D实现井字棋的博客
Unity IMGUI 的小游戏(井字棋)制作以及怎么发布为安卓apk并且发给女孩子手机上成功运行的教程 - 3D游戏编程学习日志

2018-08-22 20:05:24 qq_36684665 阅读数 1107
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

一、开局先上个小键盘效果图(UI为NGUI所制作,这里不再赘述)

二、代码部分(代码可扩展部分非常强)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class SmallKeyboard : MonoBehaviour
{
    public enum KeyboardType
    {
        Number = 0,
        Character = 1,
        EnterKey = 2,
        BackSpace = 3
    }
    [Serializable]
    public class CUIKeyInfo
    {
        public GameObject KeyObj;
        public KeyboardType KeyType;
        public string SValue;
    }

    //输入的值
    public string strInput = "";
    public List<CUIKeyInfo> list = new List<CUIKeyInfo>();

    string sReslut = "";
    private void ProcessKeyEvent(CUIKeyInfo _info)
    {
        if (_info.KeyType == KeyboardType.Character || _info.KeyType == KeyboardType.Number)
        {
            //这里注意光标,如果光标移动到不是最后一个元素的某个位置,要考虑插入的方法
            //sReslut = sReslut.Insert(strTarget.IndexOf(cursorIndex), _info.SValue);
            sReslut += _info.SValue;
        }
        else if (_info.KeyType == KeyboardType.BackSpace)
        {
            //这里注意光标,如果光标移动到不是最后一个元素的某个位置,要考虑中间删除的方法
            //sReslut = sReslut.Remove(cursorIndex -1,cursorIndex);
            sReslut = sReslut.Remove(sReslut.Length - 1, sReslut.Length);
        }
        else if (_info.KeyType == KeyboardType.EnterKey)
        {
            Debug.LogError("sResult = " + sReslut);
        }
    }
    private void ClickButton(GameObject go)
    {
        for (int i = 0; i < list.Count; i++)
        {
            if (list[i].KeyObj == go)
            {
                ProcessKeyEvent(list[i]);
                break;
            }
        }

    }
    // Use this for initialization
    void Start()
    {
        for (int i = 0; i < list.Count; i++)
        {
            CUIKeyInfo info = list[i];
            UIEventListener.Get(info.KeyObj).onClick = ClickButton;
        }
    }
}

三、挂载脚本部分

注意:本资源为原创,转载请注明出处。请勿用作商业用途

2018-04-29 00:07:01 aerou 阅读数 14756
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

   VR是一种可创建和体验虚拟世界(Virtual World)的计算机系统, 是一种可以创建和体验虚拟世界的计算机仿真系统。它利用计算机生成一种模拟环境,是一种多源信息融合的交互式三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。

作为一个unity3d初学者,怎样开发一款3D游戏呢,或者说,怎样最快的将自己现有的unity3d项目开发成VR项目呢,这里,本文给大家推荐一款VR转换器《vrPlus(神之眼)》,这是一款可以将3D项目输出为VR效果的软件,官方简介:点击打开链接

离线版软件下载地址:点击打开链接

 

免费版下载地址链接https://pan.baidu.com/s/1SUB0y_CPwkjnsze2CdHv5g

提取码:x3l9

接下来就简单了,新建一个U3D工程,(任意版本的u3d都可以,这里用5.2.2版本的u3d)

这里随意拉几个Cube

然后生成Exe软件

生成好以后,打开下载好的神之眼转换器

接下来见证奇迹的时候到了

 

可以打开设置

 

选择不同的VR展现形式,1.3.0版本,集成了

左右格式,

上下格式,

红蓝格式,

隔行格式,

三星裸眼,

绿幕,

白条3D,

深度裸眼,

 

根据不同的需求,可以直接输出对应效果

这就是U3d开发最快捷的VR展现形式,如果有普通项目,需要尽快产品升级VR后的出屏效果,可以用此工具都可以直接转换显示,前期知道了自己项目的显示效果,对后续产品升级有很大的帮助

 

2015-02-01 23:13:45 Carl180 阅读数 1078
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

简介:

1、Unity3D的游戏引擎是和编辑器集成在一起的,所有它也是一个制作/开发平台。

2、Unity3D是使用JavaScript、C#作为核心脚本语言来驱动事个游戏引擎。

3、平台可以发布Exe执行文件或者打包为可供网页调用的一个独立的包文件。

4、用Unity3D制作的工程具有高度的可移植性,可以在PS xbox360 Android iPhone mac等系统上运行。

该文章出自【狗刨学习网】


嵌入网页:

1、用Unity3D实现嵌入网页和Flash插入网页原理完全一致,也是使用ActiveX控件嵌入在网页中。所以和Flash一样,需要安装一个播放器插件(小于3M)。


2、查看页面源码,可以看到如下嵌入部分:


         

         


3、和Flash一样,在浏览器中加载3D场景或者读取时的图标进度条都能进行自定义,也可以自定义是否激活是用右键菜单。



数据交互


1、在Unity3D中调用网页js函数


       如果我们在html中有脚本函数;则在u3d中我们可用使用Application.ExternalCall调用js函数,该方法只适合在Web3D环境下使用。该方法支持基本类型的传递和数组传递,任何类型都会转换成字符串类型使用。


例子代码:


       Application.ExternalCall("SayHello","The game says hello!);//调用SayHello,传递一个字符串


2、在Unity3D中直接执行一段脚本代码如:


      Application.ExternalEval("if(document.location.host!='unity3d.com'){document.location='http://unity3d.com';}");


3、在js中调用Unity3D函数(传递消息等)


      如果有Unity3D中有一段用JS写的功能函数:


      function MyFunction(param:String)

      {

              Debug.Log(param);

      }


      需要在JS中呼叫这个函数则可以这样写:



      这里要注意的是MyObject代表Unity3D中的一个场景名称为MyObject,MyFunction是调用的函数,最后一个字符为传递的参数。


与php,jsp等的表单数据交互


         与php,jsp等的表单数据交互很可能会是今后用到的主要方式,原理是利用form表彰传递数据,下面以php为例来进行说明。


         Unity3D可以实现向某个指定页面发送表单数据然后在php中使用_POST获取传递回来的表彰数据。比如:



         在Unity3D中我们发送数据的代码如下:


         var form = new WWWForm();//定义一个网页表单

         form.AddField("myform_action","Action1");//添加一个表彰字段名称为myform_action内容是action1

         var download = new WWW("www.xxx.com/index.php",form);//发送表单数据到指定网址页面

        假如index.php执行的是数据库/统计操作,我们就可以对传递的数据进行保存读取或者其他操作了。


XML在Unity中使用

阅读数 1632

系统漫游

阅读数 171

没有更多推荐了,返回首页