2019-05-17 21:38:30 zxm_jimin 阅读数 5207
  • Unity 值得看的500+ 技术内容列表

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

Unity3D_最简单的开始界面_结束界面

开始界面

1、创建一个新的场景
添加button
在这里插入图片描述
2、C#脚本
LoadingGame.cs

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

public class LoadingGame : MonoBehaviour
{
    public void LoadGame()
    {
        Application.LoadLevel("mianScene");
    }
}

3、建一个空对象
将LoadingGame.cs拖入
在这里插入图片描述
在这里插入图片描述
4、添加到button中
在这里插入图片描述
5、在Building Settings中加入两个场景

在这里插入图片描述

然后就可以尝试运行啦~

结束界面

同理——结束界面
endGame.cs

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

public class endGame : MonoBehaviour
{
    public void EndGame()
    {
        UnityEditor.EditorApplication.isPlaying = false;
        Application.Quit();
    }
}

调用

Application.LoadLevel("endGame");
2017-12-13 23:38:58 ChinarCSDN 阅读数 3722
  • Unity 值得看的500+ 技术内容列表

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

Chinar blog www.chinar.xin

ToLua制作登录界面


本文提供全流程,中文翻译

助力快速完成 Unity 服务器的购买、配置、以及网站的搭建

为初学者节省宝贵的时间,避免采坑!

Chinar —— 心分享、心创新!

我们的初衷是将一种简单的生活方式带给世人

使有限时间 具备无限可能

Chinar 教程效果:
这里写图片描述


全文高清图片,点击即可放大观看 (很多人竟然不知道)


请支持大神开发者:骏擎CP,蒙哥等奔赴在前线的开发前辈们

到官方网站下载,或Unity商店购买:

ToLua官方网站 —— 下载资源


1

英文好的朋友,可直接看官方文档。里边详细的介绍了所有功能,以及用法!

创建Unity Project/项目 Test

LuaFrameWork_UGUI_master 文件夹中 Assets 目录下的

LuaFramework Plugins文件夹拖至 Unity Project/项目 Test Assets 资源目录中

这里写图片描述


2

找到 LuaFramework 下的 Scenes 目录中的 main 场景 —— 双击打开

插图


3

LuaFramework 文件夹中创建 UI 文件夹

UI 文件夹中创建 Builds 、Textures 文件夹

Builds 文件夹中创建 Login 文件夹

(可选)在 材质—— Textures 文件夹中创建资源文件的文件夹,分类一招自己需求而定

这里写图片描述
这里写图片描述


4

将自己做的UI界面拖成预设物

注意: Builds 目录下的文件夹是什么名字,那么所做的UI就需要 用文件夹名字,加上 “Panel” 来命名

如下图的梨子 LoginPanel

这里写图片描述


5

LuaFramework-UGUI 是采用标准的 MVC 格式编写的框架

非常便于对文件的管控,所以在查找文件的时候非常方便

这里用 SubLime 进行编译,控制。

Lua 文件夹,拖至 Sublime 中,便于一会儿对Lua脚本的操作、管理

(没有以及不会 Sublime 的朋友请不用担心,请跳转阅读我的 Sublime 攻略。点击跳转↓↓

Sublime Text 3(中文)下载、安装、运行!

Sublime Text 3(中文)添加Lua编译环境

这里写图片描述


6

添加 Lua 脚本:在 Lua/Controller Lua/View中分别创建 LoginCtrl LoginPanel

注意:脚本和之前预设物命名一定要一致。这里的 LoginPanel 脚本和预设物 都是一样的

这里写图片描述

保存时,可直接 “Ctrl+S” 。这里只是为了方便初学者理解


7

在 逻辑/控制管理—— Logic/CtrlManager.lua Init 方法里,添加 Login (最好写上注释)

这里写图片描述


8

打开 Logic/Game.lua 配置信息

这里写图片描述


9

回到 Unity

Scripts 文件夹下的 Manager ,找到 GameManager 脚本 —— 双击打开。

“Ctrl+F” 搜索初始化函数 “ void OnInitialize ”注销网络服务,完成配置

这里写图片描述

这里写图片描述


10

回到 Sublime

在 共同/定义—— Common/define.lua 中完成配置

这里写图片描述


11

打开 LuaFramework 提供的梨子 MessageCtrl.lua 脚本,全选所有代码,复制/Copy

打开第6步创建的 LoginCtrl.lua 脚本,粘贴/Paste。修改脚本的属性,完成配置

这里写图片描述


经过以上步骤后,基本完成配置。下面需要根据平台,进行资源打包。


12

回到 Unity

LuaFramework文件夹下的 Editor,找到 Package 脚本 —— 双击打开。

“Ctrl+F” 处理框架函数 “ HandleExampleBundle”向下查找资源。

注销/删除梨子代码,改成 Login 信息完成配置

这里写图片描述

这里写图片描述


13

回到 Unity

在菜单栏找到 LuaFramework 选中 Build Android Resource —— 创建 安卓资源包

这里写图片描述


14

点击运行 / Ctrl+P 开启运行/测试

Login 界面出现

注意: main 场景中,创建名为 GlobalGenerator 的空物体,即可查看更新信息

这里写图片描述
至此:教程结束!


支持

May Be —— 开发者,总有一天要做的事!


拥有自己的服务器,无需再找攻略

Chinar 提供一站式《零》基础教程

使有限时间 具备无限可能!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


Chinar 免费服务器、建站教程全攻略!( Chinar Blog )


Chinar

END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

2012-06-26 23:07:01 ariel7321 阅读数 13463
  • Unity 值得看的500+ 技术内容列表

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

接下来的几周内,我准备把对如何用Unity3D制作愤怒的小鸟的研究过程记录下来,希望能完成愤怒的小鸟游戏的大部分功能。


好记性不如烂笔头,开始吧!


目标:制作开头loading时的Logo界面,4秒后进入下一个界面。


1.  建一个空Project,将屏幕分辨率改为800*600.

File--->Build Settings...---->PC and Mac Standalone--->Player Settings...--->Resolution and Presentation


2. 创建一个GUI Texture,重命名为Logo,然后Logo图片放到这个GUI Texture上,修改其参数如下:



3. 创建一个Scene,命名为PlayScene。然后把Scene都加入到build中



4. 我们来写个脚本实现界面切换功能。

#pragma strict

var timeInterval : int = 4;
var level : int;

private var timeUpdate : float;

function Start () {

}

function Update () {
	timeUpdate += Time.deltaTime;
	if (timeUpdate > timeInterval) {
		Application.LoadLevel(level);
	}

}

5. 将这个脚本赋给LogoScene中的camera,将Level值改为1.


OK,运行试试吧!


2017-04-14 11:06:40 yongh701 阅读数 13130
  • Unity 值得看的500+ 技术内容列表

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

开始界面是一个游戏最常见的元素,作品或大或少都会有这些东西。下面里面4.6之后Unity3D自带的UGUI,实现一个公告栏和开始界面,以此说明Unity3D中是怎么布置游戏UI的。如下图所示,开始游戏之前,我们会给用户公告比较长,但用户可以通过滑动滑块看完。


具体制作步骤如下:

1、新建一个Canvas,切换到2D界面,不懂的可以参详《【Unity3D】Helloworld》(点击打开链接)里面有具体做法,然后如下图,在Canvas下面布置一个Button按钮,利用矩形工具等移到相应的位置。


2、在右侧的属性面板,将Button设置成红色,然后Button旗下的Text,内容改成“开始游戏”,设置成白色,在竖直和水平方向设置对齐。


3、之后我们要设置一个公告栏,这部分由2个image和,2个text还有一个scoll bar组成的。首先我们先新建一个image拉到相应的位置,并设置颜色是R100 G0 B255 A100。在于Canvas的旗下(非该新建的image下)新建一个text,调到相应的内容,位置,设置水平、竖直对齐再拖到这个image旗下,这样做,text不会随这个image的拉伸而拉伸。以后在image上面放text都这样。


4、接下来再同理,做一个image,颜色为R255 G255 B100 A100,并重命名为plane和较长内容的text,并因为以后设置的需要,将个text重命名成Content,然后拖到plane里面,如图所示。


5、对Plane这个image添加UI->Mask和UI->Scroll Rect组件,并将Scroll Rect下的Horizontial取消,说明我们只需要在垂直状态下滚动。


6、如图所示,在Canvas下新建一个Scrollbar并做相应的调整。


7、如图,再对Plane下的Scroll Rect进行修改,将Content设置成名为Content的Text,将Vertical Scrollbar设置成刚刚创建的Scrollbar,设置的时候,是点⊙进行设置的。这样就能将面板、内容和滚动条绑定起来。



至此,公告栏做完了。整个过程没有一行代码,但这些UI控件设置起来并不简单。理论上,能通过拖控件实现的功能,尽量不要通过写代码来实现,毕竟这项拖控件正因为没有技术含量,所以实现起来非常简单,更重要的是维护起来相当好整,直接用矩形工具拖,总比你代码里面调这个控件在什么坐标好吧?

2019-11-04 22:42:28 wgslucky 阅读数 213
  • Unity 值得看的500+ 技术内容列表

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

在使用Unity3d开发一个简易的聊天程序时,需要在客户端显示聊天记录列表,做为一个初学者,开发这个功能具然快用了两天了。最后通过调一个参数解决了。这里记录一下,希望对新手有所帮助。
最终的显示效果是这样的:
在这里插入图片描述

项目结构如图所示:
在这里插入图片描述

项目中的StartPanel是用来输入昵称和连接服务器用的,这里先不用管它。ChatPanel中实现了聊天历史列表记录和聊天消息的发送。
开发步骤如下所示:

添加ChatPanel,做为聊天内容管理的Panel界面。
在ChatPanel下面添加聊天信息输入框ChatInputField
在ChatPanel下面添加一个Scroll View ,它的参数面板如下所示:

在这里插入图片描述
给Scroll View->Viewport->Content添加Content Size Filter和Vertical Layout Group,参数如下所示:

在这里插入图片描述
然后添加如下脚本,这里的思路是每一条聊天记录都会动态加载到一个Text组件中,这方便处理不同组件显示的内容。

// Update is called once per frame
void Update()
{
    if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter))
    {
        if (chatInput.text != "")
        {
            string username = Player.GetInstance().NickName;
            string addText = "\n  " + "<color=red>" + username + "</color>: " + chatInput.text;
            GameObject textShowPanel = showPannel.gameObject;
            GameObject chatTextArea = (GameObject)Instantiate(Resources.Load("ChatTextArea"));
            chatTextArea.transform.SetParent(textShowPanel.transform, false);
            
            Text text = chatTextArea.GetComponent<Text>();
            text.text = addText;
            chatInput.text = "";
            chatInput.ActivateInputField();
            //强制更新,如果滚动条显示了,让滚动条始终在最低下。
            Canvas.ForceUpdateCanvases();
            scrollRect.verticalNormalizedPosition = 0f;
            Canvas.ForceUpdateCanvases();
        }
    }
}

关注下面的公众号,获取源码
在这里插入图片描述

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