作者Ahtram (Ahtram)
看板GameDesign
标题Re: [请益] unity 按钮跟时间的问题
时间Wed Sep 4 18:11:45 2013
※ 引述《flyfeather92 (老娘)》之铭言:
: 小妹不才 目前是unity新手
: 我想写一个在特定秒数会跳出button的装置
: var mySkin : GUISkin;
: var myWeapon : GameObject;
: var WeaponClosed : boolean = false;
: var btnTexture : Texture;
: function OnGUI()
: {
: print (Time.time);
: // Waits 6 seconds
: yield WaitForSeconds (6);
: GUI.skin = mySkin;
: if(GUI.Button(Rect(400, 40, 160, 30),"O"))
: {
: }
: else if(GUI.Button(Rect(400, 80, 160, 30), "X"))
: {
: }
: }
: 可是在GAME里面连BUTTON都跳不出来
using UnityEngine;
using System.Collections;
public class ClassABC : MonoBehaviour {
//设定几秒按钮会出现
public float m_time = 5.0f;
//是否显示按钮旗标
private bool m_showBtn = false;
void Start () {
//请爱用Invoke, 可以在设定秒数内呼叫一个你的Function
Invoke("ShowButton", m_time);
}
void Update () {
//检查目前是否显示按钮?
if (m_showBtn) {
//是的话才显示
if(GUILayout.Button("Hide me")) {
HideButton();
}
}
}
private void ShowButton() {
m_showBtn = true;
}
private void HideButton() {
m_showBtn = false;
}
}
: 之後也想请问各位大大 如果我在if里面要移动特定的物件该怎麽做?
平滑移动? 还是瞬间移动? 移动3D物件还是2D物件?
瞬移3D物件最简单
myObject.gameobject.transform.position = new Vector3(10.0f, 10.0f, 10.0f);
平滑移动物件请爱用itween或者其他tween addon, 会比手工刻方便很多。
http://itween.pixelplacement.com/index.php
至於要移动2D物件...前面的大大有说了,要做真正有使用性的UI请勿用OnGUI
OnGUI非常建议只拿来做测试用介面,按下去会显示游戏数值那种介面。
要设计真正的游戏介面在当前的版本你没有其他选择,要去买NGUI这种外挂来研究。
除非你强到可以写真正的2D GUI系统:p
在4.3即将出现或许可以用的内建GUI系统就是了...要免费的可以等4.3
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.27.82.222
1F:推 chenglap:说了几年都没做好, 我今次不信他们... 09/04 18:35
2F:推 chargo:这次有挖走NGUI的作者 应该比较有机会....大概吧XD 09/04 21:43
3F:推 hirabbitt:推HOTween 09/05 16:03
4F:推 hala932:原来NGUI的作者被挖走了!! 酷耶~~ 09/07 23:23