实现基本玩法
This commit is contained in:
77
src/types/Block.ts
Normal file
77
src/types/Block.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
const { regClass, property } = Laya;
|
||||
|
||||
@regClass()
|
||||
export class Block extends Laya.Script {
|
||||
declare owner : Laya.Button;
|
||||
|
||||
@property(Number)
|
||||
public XIndex: number = 0;
|
||||
@property(Number)
|
||||
public YIndex: number = 0;
|
||||
@property(Number)
|
||||
public XGroup: number = 0;
|
||||
@property(Number)
|
||||
public YGroup: number = 0;
|
||||
|
||||
private preset: boolean = false//预设格子
|
||||
private checked: boolean = false//正确格子
|
||||
private showNumber: number = 0;
|
||||
private correctNumber: number = 0;
|
||||
|
||||
public onInit(XIndex: number, YIndex: number, XGroup: number, YGroup: number, handler: any, func: any): void {
|
||||
this.XIndex = XIndex;
|
||||
this.YIndex = YIndex;
|
||||
this.XGroup = XGroup;
|
||||
this.YGroup = YGroup;
|
||||
this.owner.on(Laya.Event.CLICK, handler, func);
|
||||
}
|
||||
|
||||
public setButtonSkin(skin: string): void {
|
||||
this.owner.skin = skin
|
||||
}
|
||||
|
||||
public setBlock(preset: boolean, showNumber: number, correctNumber: number): void {
|
||||
this.preset = preset;
|
||||
this.checked = preset;
|
||||
this.showNumber = showNumber;
|
||||
this.correctNumber = correctNumber;
|
||||
this.updateBlock();
|
||||
}
|
||||
|
||||
public getIsPreset(): boolean {
|
||||
return this.preset;
|
||||
}
|
||||
|
||||
public getIsChecked(): boolean {
|
||||
return this.checked;
|
||||
}
|
||||
|
||||
public getShowNumber(): number {
|
||||
return this.showNumber;
|
||||
}
|
||||
|
||||
public setShowNumber(showNumber: number): boolean {
|
||||
console.log("setShowNumber >>>>>", showNumber, this.correctNumber, this.XIndex, this.YIndex)
|
||||
if (this.checked == false) {
|
||||
if (showNumber == this.correctNumber)
|
||||
this.checked = true;
|
||||
this.showNumber = showNumber;
|
||||
this.updateBlock();
|
||||
}
|
||||
return this.checked
|
||||
}
|
||||
|
||||
updateBlock(): void {
|
||||
if (this.showNumber > 0) {
|
||||
this.owner.label = this.showNumber.toString();
|
||||
if (this.checked)
|
||||
this.owner.labelColors = "#000000,#000000,#000000"
|
||||
else
|
||||
this.owner.labelColors = "#ff0000,#ff0000,#ff0000"
|
||||
}
|
||||
else {
|
||||
this.owner.label = "";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
3
src/types/Block.ts.meta
Normal file
3
src/types/Block.ts.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"uuid": "abc6b60b-980b-4853-baa5-ac8506e00c4a"
|
||||
}
|
||||
37
src/types/Candy.ts
Normal file
37
src/types/Candy.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
const { regClass, property } = Laya;
|
||||
|
||||
@regClass()
|
||||
export class Candy extends Laya.Script {
|
||||
declare owner : Laya.Button;
|
||||
|
||||
@property(Laya.Label)
|
||||
public label_left: Laya.Label;
|
||||
|
||||
private showNumber: number = 0;
|
||||
private left: number = 0;
|
||||
|
||||
public onInit(showNumber: number, handler: any, func: any): void {
|
||||
this.showNumber = showNumber
|
||||
this.owner.on(Laya.Event.CLICK, handler, func)
|
||||
this.updateCandy()
|
||||
}
|
||||
|
||||
public getShowNumber(): number {
|
||||
return this.showNumber;
|
||||
}
|
||||
|
||||
public setLeft(left: number): void {
|
||||
this.left = left;
|
||||
this.updateCandy()
|
||||
}
|
||||
|
||||
public getLeft(): number {
|
||||
return this.left;
|
||||
}
|
||||
|
||||
updateCandy(): void {
|
||||
this.owner.active = this.left > 0
|
||||
this.owner.label = this.showNumber.toString();
|
||||
this.label_left.text = this.left.toString();
|
||||
}
|
||||
}
|
||||
3
src/types/Candy.ts.meta
Normal file
3
src/types/Candy.ts.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"uuid": "067a5d3a-4d7c-48d7-bb01-db2682fd6c01"
|
||||
}
|
||||
Reference in New Issue
Block a user