-
Notifications
You must be signed in to change notification settings - Fork 0
/
Shop.cpp
137 lines (123 loc) · 4.32 KB
/
Shop.cpp
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
//
// Shop.cpp
// goldMiner
//
// Created by student on 15/8/20.
//
//
#include "Shop.h"
#include "StartGame.h"
extern int level;
extern int Water;
extern int Boom;
Scene * Shop::scene(){
auto scene=Scene::create();
auto layer=Shop::create();
scene->addChild(layer);
return scene;
}
bool Shop:: init(){
if (!Layer::init()) {
return false;
}
auto node=CSLoader::createNode("MainScene.csb");
this->addChild(node);
auto sprite=node->getChildByName("Sprite_1");
auto pageView=node->getChildByName<ui::PageView*>("PageView_1");
auto pageView2=node->getChildByName<ui::PageView*>("PageView_2");
auto liftButton=node->getChildByName<ui::Button*>("Button_1");
auto rightButton=node->getChildByName<ui::Button*>("Button_2");
auto buyButton=node->getChildByName<ui::Button*>("Button_3");
liftButton->addClickEventListener([pageView,pageView2](Ref*sender){
auto index=pageView->getCurPageIndex();
auto index2=pageView2->getCurPageIndex();
index2++;
index++;
if (index<0) {
return ;
}
pageView->scrollToPage(index);
pageView2->scrollToPage(index2);
});
rightButton->addClickEventListener([pageView,pageView2](Ref*){
auto index=pageView->getCurPageIndex();
auto index2=pageView2->getCurPageIndex();
index--;
index2--;
if (index>1) {
return ;
}
pageView->scrollToPage(index);
pageView2->scrollToPage(index2);
});
auto visibleSize=Director::getInstance()->getVisibleSize();
buyButton->addClickEventListener([sprite,pageView](Ref*){
sprite->stopAllActions();
auto time=CSLoader::createTimeline("MainScene.csb");
time->gotoFrameAndPlay(100,140,true);
sprite->runAction(time);
if (pageView->getCurPageIndex()==0) {
if (Water==3) {
MessageBox("每关的PowerWater不能超过3个","谢谢");
return ;
}else
{
Water=Water+1;
}
}else if (pageView->getCurPageIndex()==1){
if (Boom>=1) {
MessageBox("每关的Boom不能超过1个","谢谢");
}else{
Boom=Boom+1;
}
}
});
if (level==1) {
MenuItemFont *font=MenuItemFont::create("NEW GAME");
font->setCallback(CC_CALLBACK_0(Shop::goNext, this));
font->setColor(Color3B::RED);
auto menu=Menu::create(font, NULL);
menu->setPosition(Vec2(visibleSize.width/2+140,visibleSize.height/2-120));
this->addChild(menu);
//执行动作
auto time=CSLoader::createTimeline("MainScene.csb");
time->gotoFrameAndPlay(0,50,true);
sprite->runAction(time);
}else if(level<=6){
MenuItemImage *item=MenuItemImage::create("shopArrow.png", "shopArrow.png");
item->setCallback(CC_CALLBACK_0(Shop::goNext, this));
auto menu=Menu::create(item, NULL);
menu->setPosition(425, 30);
this->addChild(menu);
auto time=CSLoader::createTimeline("MainScene.csb");
time->gotoFrameAndPlay(55,95,true);
sprite->runAction(time);
}else if(level>6){
MenuItemFont *font1=MenuItemFont::create("PASS OUT");
font1->setPosition(Vec2(visibleSize.width/2+100,visibleSize.height/2));
this->addChild(font1);
MenuItemFont *font=MenuItemFont::create("NEW GAME");
font->setCallback(CC_CALLBACK_0(Shop::revers,this));
font->setColor(Color3B::RED);
auto menu=Menu::create(font, NULL);
menu->setPosition(Vec2(visibleSize.width/2+100,visibleSize.height/2-60));
this->addChild(menu);
ParticleSystem *par=ParticleFireworks::create();
par->setTexture(TextureCache().addImage("fengye.png"));
par->setPosition(Vec2(280, 0));
par->setAutoRemoveOnFinish(true);
this->addChild(par);
Water=0;//将强力水设置为0;
auto time=CSLoader::createTimeline("MainScene.csb");
time->gotoFrameAndPlay(100,140,true);
sprite->runAction(time);
}
return true;
}
void Shop::revers(){
level=1;
Director::getInstance()->pushScene(StartGame::secne());
}
void Shop:: goNext(){
Director::getInstance()->pushScene(StartGame::secne());
}