赞 | 0 |
VIP | 7 |
好人卡 | 10 |
积分 | 6 |
经验 | 80946 |
最后登录 | 2024-11-18 |
在线时间 | 2167 小时 |
Lv2.观梦者 故九江太守
- 梦石
- 0
- 星屑
- 612
- 在线时间
- 2167 小时
- 注册时间
- 2012-12-5
- 帖子
- 4464
|
用代码框弄起来吧!- #==============================================================================
- # ■ My_Window
- #------------------------------------------------------------------------------
- # 自己定义的窗口类,用于显示窗口在画面上继承自Sprite类。
- #==============================================================================
- class My_Window
- @WindowSkin #窗口皮肤
-
- @ButtionSkin #按钮皮肤
-
- @ButtionActiveSkin #按钮被选中状态下皮肤
-
- @StaticSkin #静态文本的皮肤
-
- @ItemNumber #窗口中按钮的个数
-
- @Index #被选中按钮的编号,从零开始编号
-
- @ButtionArray
- def initialize(commands,item_number) #局部变量约定小写
- @WindowSkin=Sprite.new #窗口皮肤
- @WindowSkin.bitmap=Bitmap.new(commands[0])
- @WindowSkin.x=120 #窗口位置
- @WindowSkin.y=120
- @ButtionSkin =Bitmap.new(commands[1]) #按钮皮肤
- @ButtionActiveSkin=Bitmap.new(commands[2]) #按钮被选中时的皮肤
- @ItemNumber=item_number #按钮的个数
- @Index=0 #被选中按钮的编号
- @ButtionArray=Array.new item_number,Sprite #按钮的数组
- for i in 0... item_number
- @ButtionArray[i]=Sprite.new
- @ButtionArray[i].bitmap=@ButtionSkin
- @ButtionArray[i][email protected]
- @ButtionArray[i][email protected]+i*50-10 #按钮的位置根据需要自己调
- end
- end
-
- def update #按钮添加响应
- if(Input.repeat?(Input::DOWN)) #按下向下的按钮
- @ButtionArray[@Index].bitmap=@ButtionSkin #把当前按钮的皮肤改为不被选中的状态
- if(@Index==@ItemNumber-1) #如果按钮到最后一个 则把编号赋值为第一个
- @Index=0 #程序中编号一般从0开始
- else
- @Index=@Index+1
- end
- end
- if(Input.repeat?(Input::UP))
- @ButtionArray[@Index].bitmap=@ButtionSkin
- if(@Index==0)
- @Index=@ItemNumber-1
- else
- @Index=@Index-1
- end
-
- end
- @ButtionArray[@Index].bitmap=@ButtionActiveSkin #键盘响应结束
- #按钮状态改为选中状态
- end
-
- end
复制代码 |
|