找回密码
 注册帐号

扫一扫,访问微社区

着色器 U3D的GUI.Window问题。。。求救

5
回复
1866
查看
[ 复制链接 ]
3偶尔光临
163/300
排名
11509
昨日变化

4

主题

35

帖子

163

积分

Rank: 3Rank: 3Rank: 3

UID
133
好友
0
蛮牛币
799
威望
0
注册时间
2013-5-31
在线时间
30 小时
最后登录
2019-7-2
2014-5-31 11:41:41 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
闪菜鸟我的第一次提问:
首先我先说下我要做的是什么东西如下: 我要把一个按钮背景图放在屏幕最下边缘有个按钮区,作为一个背景显示。(我的背景宽=1024; 高 =47)
我注册一个窗口, 我希望GUI.Window的位置取决于注册时窗口的位置。而不是屏幕,因为如果屏幕改变了 我的GUI界面会乱套了。
下面请各位大神请看代码。。
  1. using UnityEngine;
  2. using System.Collections;
  3. public class GUI_D1 : MonoBehaviour {

  4. //注册一个主菜单窗口//
  5. public Rect mainMenuWindowRect = new Rect(0,Screen.height,Screen.width,Screen.height);

  6. public GUISkin costomGUISkin;

  7. // Use this for initialization
  8. void Start () {
  9.    print ("Screen.height:" + Screen.height);
  10. }

  11. // Update is called once per frame
  12. void OnGUI () {
  13.       if(costomGUISkin){
  14.    GUI.skin = costomGUISkin;
  15.   
  16.   }
  17.    mainMenuWindowRect = GUI.Window(1,new Rect(0,Screen.height-47 ,Screen.width,47),DoMyWindow,"","mainmenuWindow");
  18. }


  19. void DoMyWindow (int windowID){
  20.   
  21.   
  22. }
  23. }
复制代码
以上的代码能实现了。但是它是基于屏幕的分辨率。如果改变了它就没意义了。  我想做的是 我注册一个窗口,然后我的GUI.Window的位置是基于注册窗口的。 这样子它就不会随着屏幕分辨率变化而变化。

下面我再贴出一个代码是基于注册窗口的。
  1. using UnityEngine;
  2. using System.Collections;
  3. public class GUI_D1 : MonoBehaviour {

  4. //注册一个主菜单窗口//
  5. public Rect mainMenuWindowRect = new Rect(0,Screen.height,Screen.width,Screen.height);

  6. public GUISkin costomGUISkin;

  7. // Use this for initialization
  8. void Start () {
  9.    print ("Screen.height:" + Screen.height);
  10. }

  11. // Update is called once per frame
  12. void OnGUI () {
  13.       if(costomGUISkin){
  14.    GUI.skin = costomGUISkin;
  15.   
  16.   }
  17.    mainMenuWindowRect = GUI.Window(1,new Rect(0,mainMenuWindowRect.y-47 ,mainMenuWindowRect.width,mainMenuWindowRect.height),DoMyWindow,"","mainmenuWindow");
  18. }


  19. void DoMyWindow (int windowID){
  20.   
  21.   
  22. }
  23. }
复制代码
这样的代码 我的背景一下子飞到上面不见了。  求大神解答。

我在教程手册qq群里面名字叫闪,  希望各位江湖人士出来解答下

回复

使用道具 举报

3偶尔光临
292/300
排名
24128
昨日变化

0

主题

131

帖子

292

积分

Rank: 3Rank: 3Rank: 3

UID
8
好友
0
蛮牛币
5
威望
0
注册时间
2013-5-27
在线时间
143 小时
最后登录
2019-8-19
2014-5-31 12:03:31 显示全部楼层
在GUIskin函数里有个GUIStyle,你可以在你的customSkin里自定义一个sustomStyle 把你需要用的背景贴图赋给它,然后在调用GUI.window的时候给出这个定义的customstyle,就是GUI.window中添加guistyle这个参数
回复 支持 反对

使用道具 举报

8

主题

20

帖子

39

积分

Rank: 1

UID
127
好友
0
蛮牛币
102
威望
0
注册时间
2013-5-30
在线时间
9 小时
最后登录
2015-7-28
2014-5-31 12:53:54 显示全部楼层
:L同时回复两个一模一样的...........
回复 支持 反对

使用道具 举报

6蛮牛粉丝
1147/1500
排名
3330
昨日变化

30

主题

431

帖子

1147

积分

Rank: 6Rank: 6Rank: 6

UID
26734
好友
5
蛮牛币
3166
威望
0
注册时间
2014-5-26
在线时间
204 小时
最后登录
2016-1-5

VIP活力之星

2015-6-9 09:58:36 显示全部楼层
路过!!!!!!!!
回复

使用道具 举报

7日久生情
2523/5000
排名
844
昨日变化

13

主题

709

帖子

2523

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
1121
好友
10
蛮牛币
5471
威望
0
注册时间
2013-7-22
在线时间
371 小时
最后登录
2019-8-2

活力之星

2015-6-9 11:07:28 显示全部楼层
这样的功能肯定用NGUI做啊,GUI位置很难把握的。
回复 支持 反对

使用道具 举报

9以坛为家
20411/50000
排名
463
昨日变化

236

主题

1万

帖子

2万

积分

Rank: 9Rank: 9Rank: 9

UID
78862
好友
19
蛮牛币
39610
威望
0
注册时间
2015-3-11
在线时间
3307 小时
最后登录
2019-7-31
QQ
2017-6-22 14:19:22 来自Mobile--- 显示全部楼层
这个还是考虑UGUI或者NGUI了,这个早就过时了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则