发一段E.M没优化前的脚本代码以供参考
--==============================================================================--
-- 作者: 潇潇 创建:2010年6月28日14时22分18秒
--=============================================================================--
界面_登陆= class()
--=============================================================================--
-- ■ 构造函数
--=============================================================================--
function 界面_登陆:初始化()
self.登陆背景=引擎:载入图片("Dat/logo/Login.png")
self.登陆精灵=D2D_精灵.创建(self.登陆背景,0,0,800,600)
self.文字=D2D_文字.创建("隶书",22,false,false,true)
GUI布局 = D2D_GUI布局.创建()
self.开始按钮={}
self.创建按钮={}
self.制作按钮={}
self.退出按钮={}
self.按钮图片=引擎:载入图片("Dat/menus/an/Login.png")
按钮GUI处理(1,self.开始按钮,self.按钮图片,325,356,150,30,0)
按钮GUI处理(2,self.创建按钮,self.按钮图片,325,386,150,30,0)
按钮GUI处理(3,self.制作按钮,self.按钮图片,325,416,150,30,0)
按钮GUI处理(4,self.退出按钮,self.按钮图片,325,446,150,30,0)
self.按钮包围盒={}
鼠标位置 = {x=0,y=0}
self.按钮包围盒=D2D_包围盒.创建(325,356,150,30)
self.按钮包围盒=D2D_包围盒.创建(325,386,150,30)
self.按钮包围盒=D2D_包围盒.创建(325,416,150,30)
self.按钮包围盒=D2D_包围盒.创建(325,446,150,30)
self.按钮音效=D2D_音效.创建("Dat/sound/interface/click_01.wav")
self.开始按钮.状态=1
self.创建按钮.状态=1
self.制作按钮.状态=1
self.退出按钮.状态=1
self.开始按钮.播放逻辑=false
self.创建按钮.播放逻辑=false
self.制作按钮.播放逻辑=false
self.退出按钮.播放逻辑=false
self.开始按钮.按下=false
self.开始按钮.经过=false
self.开始按钮.离开=true
self.创建按钮.按下=false
self.创建按钮.经过=false
self.创建按钮.离开=false
self.制作按钮.按下=false
self.制作按钮.经过=false
self.制作按钮.离开=false
self.退出按钮.按下=false
self.退出按钮.经过=false
self.退出按钮.离开=false
--监视刷新率
self.刷新率文字=D2D_文字.创建("宋体",22,false,falsefalse,true)
--游戏进度="登陆窗口"
self.打开=false
end
function 按钮GUI处理(按钮ID,按钮GUI,按钮图片,显示坐标x,显示坐标y,按钮左边距,按钮顶边距,图片左边距)
按钮GUI=D2D_按钮.创建(按钮ID,显示坐标x,显示坐标y,按钮左边距,按钮顶边距,按钮图片,图片左边距,0)
按钮GUI:置模式(true)
按钮GUI:置状态(false)
GUI布局:绑定控件(按钮GUI:取自身())
end
--=============================================================================--
-- ■ 更新
--=============================================================================--
function 界面_登陆:更新(dt)
GUI布局:更新(dt)
self.刷新率=引擎:取FPS()
鼠标位置.x, 鼠标位置.y = 引擎:取鼠标坐标()
--==============判断按钮状态开始=============================
if(not(self.按钮包围盒:检测_点(鼠标位置.x,鼠标位置.y))) then
self.开始按钮.状态=1
self.开始按钮.播放逻辑 =false
self.开始按钮.离开=true
end
if(not(self.按钮包围盒:检测_点(鼠标位置.x,鼠标位置.y))) then
self.创建按钮.状态=1
self.创建按钮.播放逻辑 =false
self.创建按钮.离开=true
end
if(not(self.按钮包围盒:检测_点(鼠标位置.x,鼠标位置.y))) then
self.制作按钮.状态=1
self.制作按钮.播放逻辑 =false
self.制作按钮.离开=true
end
if(not(self.按钮包围盒:检测_点(鼠标位置.x,鼠标位置.y))) then
self.退出按钮.状态=1
self.退出按钮.播放逻辑 =false
self.退出按钮.离开=true
end
--==============判断按钮状态结束=============================
--==============判断按钮状态开始=============================
if(self.按钮包围盒:检测_点(鼠标位置.x,鼠标位置.y)) then
self.开始按钮.状态=2
self.开始按钮.经过=true
if(引擎:取按键按下(键_鼠标左)) then
self.开始按钮.状态=3
self.开始按钮.按下=true
游戏进度="输入账号"
账号窗口=界面_提示:创建()
self.打开=true
end
self.开始按钮.离开=false
end
if(self.按钮包围盒:检测_点(鼠标位置.x,鼠标位置.y)) then
self.创建按钮.状态=2
self.创建按钮.经过=true
if(引擎:取按键按下(键_鼠标左)) then
self.创建按钮.状态=3
self.创建按钮.按下=true
end
self.创建按钮.离开=false
end
if(self.按钮包围盒:检测_点(鼠标位置.x,鼠标位置.y)) then
self.制作按钮.状态=2
self.制作按钮.经过=true
if(引擎:取按键按下(键_鼠标左)) then
self.制作按钮.状态=3
self.制作按钮.按下=true
end
self.制作按钮.离开=false
end
if(self.按钮包围盒:检测_点(鼠标位置.x,鼠标位置.y)) then
self.退出按钮.状态=2
self.退出按钮.经过=true
if(引擎:取按键按下(键_鼠标左)) then
self.退出按钮.状态=3
self.退出按钮.按下=true
end
self.退出按钮.离开=false
end
--==============判断按钮状态结束=============================
if ( self.开始按钮.按下==true)then 账号窗口:更新(dt) end
if (self.打开==true) then
--if(账号窗口:已关闭()==true)then 账号窗口:销毁()end
--游戏进度="登陆窗口"
end
end
--=============================================================================--
-- ■ 显示
--=============================================================================--
function 界面_登陆:显示()
self.登陆精灵:显示()
GUI布局:显示()
self.刷新率文字:显示(10,10,引擎:取FPS())
self.文字:显示(340,358,"开 始 游 戏")
self.文字:置颜色(颜色_黑)
self.文字:显示(340,388,"创 建 账 号")
self.文字:置颜色(颜色_黑)
self.文字:显示(340,418,"制 作 人 员")
self.文字:置颜色(颜色_黑)
self.文字:显示(340,448,"退 出 游 戏")
self.文字:置颜色(颜色_黑)
for n=1,4 do
self.按钮包围盒:显示()
self.按钮包围盒:置颜色(颜色_全透明)
end
--==============按钮音效开始=============================
if ( self.开始按钮.状态==3)then
elseif(self.开始按钮.状态==2)then
if (self.开始按钮.播放逻辑==false) then
self.按钮音效:播放()
self.开始按钮.播放逻辑=true
end
end
if (self.创建按钮.状态==3)then
elseif(self.创建按钮.状态==2)then
if (self.创建按钮.播放逻辑==false) then
self.按钮音效:播放()
self.创建按钮.播放逻辑=true
end
end
if (self.制作按钮.状态==3)then
elseif(self.制作按钮.状态==2)then
if (self.制作按钮.播放逻辑==false) then
self.按钮音效:播放()
self.制作按钮.播放逻辑=true
end
end
if (self.退出按钮.状态==3)then
elseif(self.退出按钮.状态==2)then
if (self.退出按钮.播放逻辑==false) then
self.按钮音效:播放()
self.退出按钮.播放逻辑=true
end
end
--==============按钮音效结束=============================
--==============按钮三层效果开始=========================
if ( self.开始按钮.按下==true)then
按钮GUI处理(1,self.开始按钮,self.按钮图片,325,356,150,30,300)
self.文字:置颜色(颜色_红)
self.开始按钮.离开=false
--if(账号窗口:可视化()==true) then
账号窗口:显示()
self.登陆精灵:置颜色(颜色_半透明)
--end
elseif(self.开始按钮.经过==true)then
按钮GUI处理(1,self.开始按钮,self.按钮图片,325,356,150,30,150)
self.文字:置颜色(颜色_白)
end
if(self.开始按钮.离开==true)then
按钮GUI处理(1,self.开始按钮,self.按钮图片,325,356,150,30,0)
self.文字:置颜色(颜色_黑)
end
if ( self.创建按钮.按下==true)then
按钮GUI处理(2,self.创建按钮,self.按钮图片,325,386,150,30,300)
self.文字:置颜色(颜色_红)
self.创建按钮.离开=false
elseif(self.创建按钮.经过==true)then
按钮GUI处理(2,self.创建按钮,self.按钮图片,325,386,150,30,150)
self.文字:置颜色(颜色_白)
end
if(self.创建按钮.离开==true)then
按钮GUI处理(2,self.创建按钮,self.按钮图片,325,386,150,30,0)
self.文字:置颜色(颜色_黑)
end
if ( self.制作按钮.按下==true)then
按钮GUI处理(3,self.制作按钮,self.按钮图片,325,416,150,30,300)
self.文字:置颜色(颜色_红)
self.制作按钮.离开=false
elseif(self.制作按钮.经过==true)then
按钮GUI处理(3,self.制作按钮,self.按钮图片,325,416,150,30,150)
self.文字:置颜色(颜色_白)
end
if(self.制作按钮.离开==true)then
按钮GUI处理(3,self.制作按钮,self.按钮图片,325,416,150,30,0)
self.文字:置颜色(颜色_黑)
end
if ( self.退出按钮.按下==true)then
按钮GUI处理(4,self.退出按钮,self.按钮图片,325,446,150,30,300)
self.文字:置颜色(颜色_红)
self.退出按钮.离开=false
elseif(self.退出按钮.经过==true)then
按钮GUI处理(4,self.退出按钮,self.按钮图片,325,446,150,30,150)
self.文字:置颜色(颜色_白)
end
if(self.退出按钮.离开==true)then
按钮GUI处理(4,self.退出按钮,self.按钮图片,325,446,150,30,0)
self.文字:置颜色(颜色_黑)
end
--==============按钮三层效果结束=========================
end
function 界面_登陆:重置背景色(颜色值)
self.登陆精灵:置颜色(颜色值)
end
页:
[1]