| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- import { _decorator, Component, Node, Skeleton, sp, Sprite, SpriteAtlas, Vec3 } from 'cc';
- const { ccclass, property } = _decorator;
- import { GameConstant } from './GameConstant';
- import { ResourceLoader } from './ResourceLoader';
- @ccclass('Item')
- export class Item extends Component {
- @property(Node)
- icon: Node = null;
-
- @property(Node)
- iconSpine: Node = null;
- @property(Node)
- wildTimesIcon: Node = null;
- @property(Node)
- wildTimesIconSpine: Node = null;
- @property(SpriteAtlas)
- iconSpriteFrame: SpriteAtlas[] = [];
- public iconType = 0;
- public isActive = false;
- public wildTimes = 1;
- public lineCount = 0;
- start() {
- this.iconType = 0;
- this.isActive = false;
- }
- setIconType(iconType, isNormal, wildTimes = 1) {
- // 设置图标类型
- this.iconType = iconType;
- this.wildTimes = wildTimes;
- // 设置图标图片
- let spriteAtlasName = `${(iconType + 1).toString().padStart(2, '0')}_default`;
- let spriteFrameName = isNormal ? GameConstant.ICON_NORMAL_SPRITE_NAME[iconType] : GameConstant.ICON_BLURRED_SPRITE_NAME[iconType]
- let spriteFrame = ResourceLoader.instance.getResource<SpriteAtlas>(spriteAtlasName).getSpriteFrame(spriteFrameName);
- // console.log(spriteFrame);
- this.icon.getComponent(Sprite).spriteFrame = spriteFrame;
- // 设置图标spine动画
- let spineName = `S${(iconType + 1).toString().padStart(2, '0')}`;
- this.iconSpine.getComponent(sp.Skeleton).skeletonData = ResourceLoader.instance.getResource(spineName);
- this.makeItem();
- }
- getIconType() {
- return this.iconType;
- }
- makeItem() {
- this.icon.scale = new Vec3(1, 1, 1);//new Vec3(0.95, 0.95, 0.95);
- this.icon.x = 0;
- this.icon.y = 0;
- this.iconSpine.scale = new Vec3(1, 1, 1);//new Vec3(0.95, 0.95, 0.95);
- this.iconSpine.x = 0;
- this.iconSpine.y = 0;
- this.wildTimesIcon.active = false;
- this.wildTimesIconSpine.active = false;
- if (this.iconType <= GameConstant.ICON_TYPE.SYMBOL_FREE) {
- // this.iconBg.node.scale = 0.9;
- // this.normalBG.scale = 0.9;
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_WILD) {
- this.iconSpine.position = new Vec3(-4.5, -18, 0);
- let wildTimesSpriteFrameName = this.wildTimes > 1 ? ("02_x" + this.wildTimes) : "02_wild";
- let wildTimesSpriteFrame = ResourceLoader.instance.getResource<SpriteAtlas>("02_default").getSpriteFrame(wildTimesSpriteFrameName);
- this.wildTimesIcon.getComponent(Sprite).spriteFrame = wildTimesSpriteFrame;
- let wildTimesSpineName = this.wildTimes > 1 ? ("S02_x" + this.wildTimes) : "S02_wild";
- this.wildTimesIconSpine.getComponent(sp.Skeleton).skeletonData = ResourceLoader.instance.getResource(wildTimesSpineName);
- this.wildTimesIcon.active = true;
-
- if (this.wildTimes == 1) {
- this.wildTimesIcon.position = new Vec3(0, -60, 0);
- this.wildTimesIconSpine.position = new Vec3(-3, 55.5, 0);
- } else if (this.wildTimes == 2) {
- this.wildTimesIcon.position = new Vec3(0, -50, 0);
- this.wildTimesIconSpine.position = new Vec3(-4, 34, 0);
- } else if (this.wildTimes >= 3) {
- this.wildTimesIcon.position = new Vec3(0, -54, 0);
- this.wildTimesIconSpine.position = new Vec3(-4, 36, 0);
- }
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_COW) {
- this.iconSpine.position = new Vec3(1.5, -20.5, 0)
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_EAGLE) {
- this.iconSpine.position = new Vec3(4.5, -13, 0)
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_LEOPARD) {
- this.iconSpine.position = new Vec3(1, -2.5, 0)
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_WOLF) {
- this.iconSpine.scale = new Vec3(0.5, 0.5, 0.5);
- this.iconSpine.position = new Vec3(5, -113.5, 0)
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_ELK) {
- this.iconSpine.position = new Vec3(-1.5, -94, 0)
- } else if (this.iconType >= GameConstant.ICON_TYPE.SYMBOL_A) {
- // this.iconSpine.position = new Vec3(1, 3, 0)
- // this.iconSpine.scale = new Vec3(0.5, 0.5, 0.5);
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_K) {
- this.iconSpine.scale = new Vec3(0.8, 0.8, 0.8);
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_Q) {
- this.iconSpine.scale = new Vec3(0.8, 0.8, 0.8);
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_J) {
- this.iconSpine.scale = new Vec3(0.8, 0.8, 0.8);
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_10) {
- this.iconSpine.scale = new Vec3(0.8, 0.8, 0.8);
- } else if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_9) {
- this.iconSpine.scale = new Vec3(0.8, 0.8, 0.8);
- }
- }
- // showDefault() {
- // // 设置图标图片
- // let spriteAtlasName = `${(this.iconType + 1).toString().padStart(2, '0')}_default`;
- // let spriteFrameName = GameConstant.ICON_NORMAL_SPRITE_NAME[this.iconType]
- // let spriteFrame = ResourceLoader.instance.getResource<SpriteAtlas>(spriteAtlasName).getSpriteFrame(spriteFrameName);
- // // console.log(spriteFrame);
- // this.icon.getComponent(Sprite).spriteFrame = spriteFrame;
- // }
- showNormal() {
- console.log("showNormal")
- this.iconSpine.getComponent(sp.Skeleton).clearTracks();
- this.iconSpine.getComponent(sp.Skeleton).setToSetupPose()
- this.iconSpine.active = false;
- this.icon.active = true;
- this.wildTimesIconSpine.getComponent(sp.Skeleton).clearTracks();
- this.wildTimesIconSpine.getComponent(sp.Skeleton).setToSetupPose()
- this.wildTimesIconSpine.active = false;
- }
- showLightAni() {
- // console.log("showLightAni")
- this.iconSpine.active = true;
- this.icon.active = false;
- this.iconSpine.getComponent(sp.Skeleton).clearTracks();
- this.iconSpine.getComponent(sp.Skeleton).setAnimation(0, "win", false);
- if (this.iconType == GameConstant.ICON_TYPE.SYMBOL_WILD) {
- this.wildTimesIconSpine.active = true;
- this.wildTimesIconSpine.getComponent(sp.Skeleton).clearTracks();
- let wildSpineName = "wild";
- if (this.wildTimes == 2)
- wildSpineName = "x2";
- else if (this.wildTimes == 3)
- wildSpineName = "x3";
- else if (this.wildTimes == 5)
- wildSpineName = "x5";
- this.wildTimesIconSpine.getComponent(sp.Skeleton).setAnimation(0, wildSpineName, false);
- }
- }
- showSpecialAni() {
- if(this.iconType != GameConstant.SPECIAL_ICON) {
- return;
- }
- this.icon.active = false;
- this.iconSpine.active = true;
- this.iconSpine.getComponent(sp.Skeleton).clearTracks();
- this.iconSpine.getComponent(sp.Skeleton).setAnimation(0, "win", false);
- }
- update(deltaTime: number) {
-
- }
- }
|