Commit e4e3777c authored by wildfirecode's avatar wildfirecode

1

parent cac8b163
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<script> <script>
// localStorage.clear(); // localStorage.clear();
// localStorage.setItem('currentLevel','1'); // localStorage.setItem('currentLevel','1');
// localStorage.setItem('currentScore','0'); // localStorage.setItem('currentScore','4');
window['development'] = true; window['development'] = true;
var gameId = 1; var gameId = 1;
var CFG = { var CFG = {
......
...@@ -24,7 +24,7 @@ export default class Panel extends ComponentBase { ...@@ -24,7 +24,7 @@ export default class Panel extends ComponentBase {
hidePanel() { hidePanel() {
this.destroy(); this.destroy();
this.dispatchEvent(new egret.Event('onDestroy')); this.dispatchEvent(new egret.Event('onCloseBtnClicked'));
} }
} }
\ No newline at end of file
...@@ -14,12 +14,12 @@ export default class PanelCtrl extends egret.EventDispatcher { ...@@ -14,12 +14,12 @@ export default class PanelCtrl extends egret.EventDispatcher {
} }
show(type: ModuleTypes, data?) { show(type: ModuleTypes, data?) {
if (this._current){ if (this._current) {
this.closeCurrent(); this.closeCurrent();
} }
const cls = this._panelClassMap[type]; const cls = this._panelClassMap[type];
const panel: Panel = new cls(data); const panel: Panel = new cls(data);
panel.type=type; panel.type = type;
this.addMask(); this.addMask();
if (!window['development']) { if (!window['development']) {
Loading.instace.show(); Loading.instace.show();
...@@ -67,30 +67,29 @@ export default class PanelCtrl extends egret.EventDispatcher { ...@@ -67,30 +67,29 @@ export default class PanelCtrl extends egret.EventDispatcher {
private add(panel: Panel) { private add(panel: Panel) {
this._parent.addChild(panel); this._parent.addChild(panel);
panel.addEventListener('onDestroy', this.onPanelHide, this); panel.once('onCloseBtnClicked', this.onPanelHide, this);
} }
private remove(panel: Panel, useTween = true) { private remove(panel: Panel, useTween = true, closeType = '') {
if (!useTween) { if (!useTween) {
this._parent.removeChild(panel); this._parent.removeChild(panel);
this.removeMask(useTween); this.removeMask(useTween);
this.dispatchEvent(new egret.Event('onPanelRemoved',false,false,panel)) this.dispatchEvent(new egret.Event('onPanelRemoved', false, false, { panel: panel, closeType: closeType }));
} else { } else {
const tw = egret.Tween.get(panel); const tw = egret.Tween.get(panel);
tw.to({ y: panel.stage.stageHeight }, 300, egret.Ease.quartIn) tw.to({ y: panel.stage.stageHeight }, 300, egret.Ease.quartIn)
.call(() => { .call(() => {
this._parent.removeChild(panel); this._parent.removeChild(panel);
this.removeMask(useTween); this.removeMask(useTween);
this.dispatchEvent(new egret.Event('onPanelRemoved',false,false,panel)) this.dispatchEvent(new egret.Event('onPanelRemoved', false, false, { panel: panel, closeType: closeType }))
}, this); }, this);
} }
this._current=null; this._current = null;
} }
private onPanelHide(e: egret.Event) { private onPanelHide(e: egret.Event) {
const panel = e.target as Panel; const panel = e.target as Panel;
panel.removeEventListener('onDestroy', this.onPanelHide, this); this.remove(panel, true, 'closeByClick');
this.remove(panel);
} }
private _panelClassMap: any; private _panelClassMap: any;
...@@ -104,7 +103,7 @@ export default class PanelCtrl extends egret.EventDispatcher { ...@@ -104,7 +103,7 @@ export default class PanelCtrl extends egret.EventDispatcher {
closeCurrent() { closeCurrent() {
if (this._current) { if (this._current) {
this._current.removeEventListener('onDestroy', this.onPanelHide, this); this._current.removeEventListener('onCloseBtnClicked', this.onPanelHide, this);
this._current.destroy(); this._current.destroy();
this.remove(this._current, false); this.remove(this._current, false);
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<e:Skin class="PrizeSkin" width="750" height="1000" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing"> <e:Skin class="PrizeSkin" width="750" height="1089" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing">
<e:Image source="prizePanelbg_png" y="114.85" horizontalCenter="0"/> <e:Image source="prizePanelbg_png" y="114.85" horizontalCenter="4"/>
<e:Button id="closeBtn" label="" x="602" y="60"> <e:Button id="closeBtn" label="" x="588.36" y="158.49">
<e:skinName> <e:skinName>
<e:Skin states="up,down,disabled"> <e:Skin states="up,down,disabled">
<e:Image width="100%" height="100%" source="PrizePanelX_png" source.down="PrizePanelX_png" source.disabled="PrizePanelX_png"/> <e:Image width="100%" height="100%" source="closeBtn_png" source.down="closeBtn_png" source.disabled="closeBtn_png"/>
<e:Label id="labelDisplay" horizontalCenter="0" verticalCenter="0"/> <e:Label id="labelDisplay" horizontalCenter="0" verticalCenter="0"/>
</e:Skin> </e:Skin>
</e:skinName> </e:skinName>
</e:Button> </e:Button>
<e:Button id="useBtn" label="" x="234.5" y="712"> <e:Button id="useBtn" label="" y="790.9" horizontalCenter="0.5">
<e:skinName> <e:skinName>
<e:Skin states="up,down,disabled"> <e:Skin states="up,down,disabled">
<e:Image width="100%" height="100%" source="prizePanelUseBtn_png" source.down="prizePanelUseBtn_png" source.disabled="prizePanelUseBtn_png"/> <e:Image width="100%" height="100%" source="prizePanelUseBtn_png" source.down="prizePanelUseBtn_png" source.disabled="prizePanelUseBtn_png"/>
...@@ -17,6 +17,6 @@ ...@@ -17,6 +17,6 @@
</e:Skin> </e:Skin>
</e:skinName> </e:skinName>
</e:Button> </e:Button>
<e:Image id="img" y="403" horizontalCenter="0" touchEnabled="true" source="{data.img}"/> <e:Image id="img" y="468" horizontalCenter="0" touchEnabled="true" source="{data.img}"/>
<e:Label text="{data.name}" y="659" horizontalCenter="0" width="508" textAlign="center" size="28"/> <e:Label text="{data.name}" y="741" horizontalCenter="0" width="508" textAlign="center" size="28"/>
</e:Skin> </e:Skin>
\ No newline at end of file
...@@ -78,6 +78,8 @@ ...@@ -78,6 +78,8 @@
<e:Image source="20_png" x="341.05" y="19.69"/> <e:Image source="20_png" x="341.05" y="19.69"/>
<e:Image source="10_png" x="173.99" y="19.7"/> <e:Image source="10_png" x="173.99" y="19.7"/>
</e:Group> </e:Group>
<e:Image source="scorebg_png" horizontalCenter="0" top="0"/>
<e:Label id="scoreTxt" text="得分:0" height="48" width="750" horizontalCenter="0" top="0" textAlign="center" verticalAlign="middle" textColor="0xfcdf9b"/>
<e:Group id="lvLayer" x="0" y="167.74"> <e:Group id="lvLayer" x="0" y="167.74">
<e:Image id="lvbg" source="lvbg_png" x="55" y="0" visible="false"/> <e:Image id="lvbg" source="lvbg_png" x="55" y="0" visible="false"/>
<e:Group id="lv1" x="0" y="166.26" width="750" visible="false"> <e:Group id="lv1" x="0" y="166.26" width="750" visible="false">
...@@ -124,4 +126,5 @@ ...@@ -124,4 +126,5 @@
</e:Skin> </e:Skin>
</e:skinName> </e:skinName>
</e:Button> </e:Button>
</e:Skin> </e:Skin>
\ No newline at end of file
...@@ -15,6 +15,7 @@ import { startStandbyBubblesLeft, startStandbyBubblesRight, stopStandbyBubblesLe ...@@ -15,6 +15,7 @@ import { startStandbyBubblesLeft, startStandbyBubblesRight, stopStandbyBubblesLe
import updateLVProgress from "./updateLVProgress"; import updateLVProgress from "./updateLVProgress";
import Panel from "../../libs/new_wx/components/Panel"; import Panel from "../../libs/new_wx/components/Panel";
import { ModuleTypes } from "../../libs/new_wx/types/sceneTypes"; import { ModuleTypes } from "../../libs/new_wx/types/sceneTypes";
import initScoreTxt from "./initScoreTxt";
export default class StartScene extends StartSceneBase { export default class StartScene extends StartSceneBase {
_engine: Matter.Engine; _engine: Matter.Engine;
...@@ -25,8 +26,10 @@ export default class StartScene extends StartSceneBase { ...@@ -25,8 +26,10 @@ export default class StartScene extends StartSceneBase {
egretRenderContainer: egret.Sprite; egretRenderContainer: egret.Sprite;
onPanelRemoved(e: egret.Event) { onPanelRemoved(e: egret.Event) {
const panel: Panel = e.data; const { panel, closeType } = e.data;
if (panel.type != ModuleTypes.PRIZE_PANEL) return; const c1 = panel.type == ModuleTypes.PRIZE_PANEL;
const c2 = closeType == 'closeByClick';
if (!c1 && !c2) return;
if (toNextLevel()) { if (toNextLevel()) {
this.initLevelView(); this.initLevelView();
this.playLevelAni(); this.playLevelAni();
...@@ -78,10 +81,11 @@ export default class StartScene extends StartSceneBase { ...@@ -78,10 +81,11 @@ export default class StartScene extends StartSceneBase {
const maxwidth = this.progressfront.width; const maxwidth = this.progressfront.width;
egret.Tween.removeTweens(this.progressfront.mask); egret.Tween.removeTweens(this.progressfront.mask);
egret.Tween.get(this.progressfront.mask).to({ width: percent * maxwidth }, 200); egret.Tween.get(this.progressfront.mask).to({ width: percent * maxwidth }, 200);
this.updateScoreTxt();
} }
onBoom(): any { onBoom(): any {
rollbackIcon(getCurrentScore(),this); rollbackIcon(getCurrentScore(), this);
onLvBoom(); onLvBoom();
this.updateProgress(); this.updateProgress();
} }
...@@ -93,7 +97,7 @@ export default class StartScene extends StartSceneBase { ...@@ -93,7 +97,7 @@ export default class StartScene extends StartSceneBase {
async start(data?) { async start(data?) {
super.start(); super.start();
toNextLevel();
GDispatcher.addEvent(ABNetManager.NET_ERROR, this.onNetError, this); GDispatcher.addEvent(ABNetManager.NET_ERROR, this.onNetError, this);
PanelCtrl.instance.addEventListener('onPanelRemoved', this.onPanelRemoved, this) PanelCtrl.instance.addEventListener('onPanelRemoved', this.onPanelRemoved, this)
egret.lifecycle.onPause = () => { egret.lifecycle.onPause = () => {
...@@ -242,6 +246,7 @@ export default class StartScene extends StartSceneBase { ...@@ -242,6 +246,7 @@ export default class StartScene extends StartSceneBase {
startStandbyBubblesLeft(this._egretRender); startStandbyBubblesLeft(this._egretRender);
startStandbyBubblesRight(this._egretRender); startStandbyBubblesRight(this._egretRender);
initScoreTxt(this);
this.updateProgress(); this.updateProgress();
} }
...@@ -265,7 +270,9 @@ export default class StartScene extends StartSceneBase { ...@@ -265,7 +270,9 @@ export default class StartScene extends StartSceneBase {
return false; return false;
} }
updateScoreTxt() {
this.scoreTxt.text = `得分:${getCurrentScore()}`;
}
initEvents() { initEvents() {
super.initEvents(); super.initEvents();
...@@ -275,4 +282,5 @@ export default class StartScene extends StartSceneBase { ...@@ -275,4 +282,5 @@ export default class StartScene extends StartSceneBase {
treasureBtn: eui.Button; treasureBtn: eui.Button;
progressfront: egret.DisplayObject; progressfront: egret.DisplayObject;
private scoreTxt: eui.Label;
} }
\ No newline at end of file
...@@ -6,7 +6,7 @@ import LabelType from "./items/LabelType"; ...@@ -6,7 +6,7 @@ import LabelType from "./items/LabelType";
import { getCurrentItems, getCurrentScore } from "./levels"; import { getCurrentItems, getCurrentScore } from "./levels";
export const createNewBubble = (_this: StartScene, type: LabelType) => { export const createNewBubble = (_this: StartScene, type: LabelType) => {
createBubble(_this, type, 750 / 2, 220, { x: 0, y: 0.1 }); createBubble(_this, type, 750 / 2, 220, { x: 0, y: 0 });
} }
const createBubble = (_this: StartScene, type: LabelType, x: number, y: number, force = { x: 0, y: 0 }) => { const createBubble = (_this: StartScene, type: LabelType, x: number, y: number, force = { x: 0, y: 0 }) => {
......
export default (that) => {
const color = 0x33CCFF; /// 光晕的颜色,十六进制,不包含透明度
const alpha = 0.4; /// 光晕的颜色透明度,是对 color 参数的透明度设定。有效值为 0.0 到 1.0。例如,0.8 设置透明度值为 80%。
const blurX = 35; /// 水平模糊量。有效值为 0 到 255.0(浮点)
const blurY = 35; /// 垂直模糊量。有效值为 0 到 255.0(浮点)
const strength = 2; /// 压印的强度,值越大,压印的颜色越深,而且发光与背景之间的对比度也越强。有效值为 0 到 255。暂未实现
const quality = egret.BitmapFilterQuality.HIGH; /// 应用滤镜的次数,建议用 BitmapFilterQuality 类的常量来体现
const inner = false; /// 指定发光是否为内侧发光,暂未实现
const knockout = false; /// 指定对象是否具有挖空效果,暂未实现
const glowFilter: egret.GlowFilter = new egret.GlowFilter(color, alpha, blurX, blurY,
strength, quality, inner, knockout);
that['scoreTxt'].filters = [glowFilter];
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment