SettingView.lua
3.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
local SettingView = dialog.uinode("ui/SettingLayer.csb",import(".BaseView"))
function SettingView:ctor()
SettingView.super.ctor(self);
end
function SettingView:show(selectedIndex)
local scene = cc.Director:getInstance():getRunningScene()
local inst = SettingView:create();
scene:addChild(inst, dialog.ZORDER_POP);
inst:setContentSize(cc.size(display.width,display.height));
ccui.Helper:doLayout(inst);
local panel = inst:getChildByName("panel");
panel:setScale(0.5);
local scaleTo = cc.ScaleTo:create(0.2,1);
panel:runAction(scaleTo);
selectedIndex = selectedIndex or 1;
inst.selectedIndex = selectedIndex;
inst:init();
UmengHelper.onEvent("setting");
return inst;
end
function SettingView:init()
self.btn_music = self:getChildByName("panel"):getChildByName("btn_music");
self.btn_music.fn = handler(self,self.onMusicClick);
self.btn_music:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, self.btn_music.fn)end);
self.btn_effect = self:getChildByName("panel"):getChildByName("btn_effect");
self.btn_effect.fn = handler(self,self.onEffectClick);
self.btn_effect:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, self.btn_effect.fn)end);
local btn_close = self:getChildByName("panel"):getChildByName("btn_close");
btn_close.fn = handler(self,self.onClose);
btn_close:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, btn_close.fn)end);
if SoundManager.isBackgroundMusic then
self.btn_music:loadTextureNormal("res/common/bg_on.png");
self.btn_music:loadTexturePressed("res/common/bg_on.png");
end
if SoundManager.isEffect then
self.btn_effect:loadTextureNormal("res/common/bg_on.png");
self.btn_effect:loadTexturePressed("res/common/bg_on.png");
end
self.nodes[1] = {btn_close};
self.nodes[2] = {self.btn_music,self.btn_effect};
self.nodeIndex = 2;
self:updateSelectedState();
end
function SettingView:onMusicClick()
if SoundManager.isBackgroundMusic then
self.btn_music:loadTextureNormal("res/common/bg_off.png");
self.btn_music:loadTexturePressed("res/common/bg_off.png");
SoundManager.setIsBackgroundMusic(false);
SoundManager.stopMusic();
else
self.btn_music:loadTextureNormal("res/common/bg_on.png");
self.btn_music:loadTexturePressed("res/common/bg_on.png");
SoundManager.setIsBackgroundMusic(true);
SoundManager.playMusic();
end
end
function SettingView:onEffectClick()
if SoundManager.isEffect then
self.btn_effect:loadTextureNormal("res/common/bg_off.png");
self.btn_effect:loadTexturePressed("res/common/bg_off.png");
SoundManager.setIsEffect(false);
else
self.btn_effect:loadTextureNormal("res/common/bg_on.png");
self.btn_effect:loadTexturePressed("res/common/bg_on.png");
SoundManager.setIsEffect(true);
end
end
function SettingView:onClose()
self:close();
end
--返回键处理函数
function SettingView:onKeypadBack()
if self.cancelFun then
self.cancelFun();
end
self:close();
end
return SettingView