作者poorsen (poorsen)
看板GameDesign
标题Re: [请益] [程式] Unity换背景
时间Wed Aug 31 18:11:27 2011
※ 引述《kingworld (珊夜 薰)》之铭言:
: 自己觉得程式码应该没有问题
: (好像程式有问题的人都会这样说)
: 是希望在同一个场景里面
: 按下一个按钮之後 它的图片/背景会换成另外一张图
: 是用javascript写的
: 以下是程式码
: -----------------------------------------------------------------
: var aTexture : Texture2D;
: function OnGUI() {
: if(GUI.Button(Rect(0,0,100,20),"AAA")){
: GUI.DrawTexture(Rect(0,0,Screen.width,Screen.height), aTexture, ScaleMode.StretchToFill, true,0);
: print("AAA");
: }
: }
texture 要载入才有内容,
图档事先汇到 project 目录 assets/Resources 下
把 GUITexture 附身到 GameObject, 摄影机才照得到
function OnGUI() {
if(GUI.Button(Rect(0,0,100,20),"AAA")){
var tex:Texture2D = Resources.Load("MyImageFile");
var obj : GameObject = new GameObject("tmp_obj");
obj.AddComponent("GUITexture");
obj.guiTexture.pixelInset = new Rect(0,0,300, 300);
obj.guiTexture.texture = tex;
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.24.43.123
1F:→ kingworld:可是我不做判断式 再将图片放到Texture里面是可以出现 08/31 18:28
2F:→ kingworld:不用另外放GameObject 08/31 18:30
如果原问题是事件处理的话
那需更深入了解 unity 如何处置 OnGUI() 与事件机制
可比较这段code 跟原本差在哪
var f = false;
function OnGUI() {
var tex:Texture2D = Resources.Load("MyImageFile");
if(GUI.Button(Rect(0,0,100,20),"AAA"))
f = true;
if (f)
GUI.DrawTexture(Rect(0,0,Screen.width,Screen.height), tex, ScaleMode.StretchToFill, true,0);
}
※ 编辑: poorsen 来自: 114.24.43.123 (08/31 20:20)
3F:→ kingworld:两者程式是没有差 请问您这段程式 可以正确执行 且跑出 08/31 20:43
4F:→ kingworld:图片吗? 因为我自己的程式码 执行是无法跑出图片的... 08/31 20:45
5F:→ poorsen:当然可以 :) 08/31 20:48
6F:推 kingworld:可以执行!! 为什麽?!是因为按钮只能做运算不能做更改吗? 08/31 20:52
7F:→ kingworld:天啊!!!你好厉害!! 你要来教我程式嘛!XDDDDDDD 08/31 20:53
8F:→ poorsen:这属於unity的know-how,只能请您研读官方文件了 08/31 21:06
9F:→ poorsen:我并非unity专家,期待您找到答案来版上跟大家分享 :) 08/31 21:07