123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- cc.Class({
- extends: cc.Component,
- properties: {
- levelUp1: cc.Node,
- levelUp2: cc.Node,
- character: cc.Node,
- fail: cc.Node,
- },
- start() {
- let self = this;
- cc.assetManager.loadBundle('game', (err, bundle) => {
- self.bundle = bundle;
- });
- },
- onWalk(target) {
- target.playAnimation('walk', -1)
- },
- onLevelUp() {
- //this.levelUp2.getComponent(dragonBones.ArmatureDisplay).playAnimation('jump', -1)
- },
- onSuccessDialog(level) {
- this.showCharacter(level, this.levelUp2)
- },
- onLevelUpBtn(level) {
- this.showHeroCharacter(level)
- },
- onFail(level) {
- this.showCharacter(level, this.fail)
- },
- initStartPage() {
- },
- showHeroCharacter(level, target, color) {
- target = target || this.character
- let loadRes = 'heroPrefab/heroSpine' + level
- this.loadHeroPrefab(loadRes, target, color);
- },
- loadHeroPrefab(prefabPath, target, color) {
- let self = this;
- if (self.heroPrefab) {
- // cc.assetManager.releaseAsset(self.heroPrefab);
- // cc.de(prefab);
- self.heroPrefab.destroy();
- self.heroPrefab = null;
- // self.bundle.release(self.heroPrefabPath, cc.Prefab);
- }
- self.bundle.load(prefabPath, cc.Prefab, (err, prefab) => {
- if (err) {
- console.error('加载 Prefab 失败:', err);
- return;
- }
- self.heroPrefabPath = prefabPath
- // Prefab 加载成功后,使用 instantiate 方法创建实例
- self.heroPrefab = cc.instantiate(prefab);
- // 将实例添加到当前节点下
- this.node.addChild(self.heroPrefab);
- // 可以设置新节点的位置等属性
- self.heroPrefab.setParent(target);
- self.heroPrefab.setPosition(0, 0, 0);
- if (color) {
- self.heroPrefab.color = color
- }
- else {
- self.heroPrefab.color = cc.Color.WHITE
- }
- });
- },
- showCharacter(level, target, color) {
- target = target || this.character
- let loadRes = 'heroPrefab/heroSpine' + level
- this.loadAvatarPrefab(loadRes, target, color);
- },
- loadPrefab(prefabPath, target, color) {
- let self = this;
- self.bundle.load(prefabPath, cc.Prefab, (err, prefab) => {
- if (err) {
- console.error('加载 Prefab 失败:', err);
- return;
- }
- // if (self.heroAvatarPrefab) {
- // cc.assetManager.releaseAsset(self.heroAvatarPrefab);
- // }
- // Prefab 加载成功后,使用 instantiate 方法创建实例
- let instPrefab = cc.instantiate(prefab);
- // 将实例添加到当前节点下
- this.node.addChild(instPrefab);
- // 可以设置新节点的位置等属性
- instPrefab.setParent(target);
- instPrefab.setPosition(0, 0, 0);
- if (color) {
- instPrefab.color = color
- }
- else {
- instPrefab.color = cc.Color.WHITE
- }
- });
- },
- showAvatarCharacter(level, target, color) {
- target = target || this.character
- let loadRes = 'heroPrefab/heroSpine' + level
- this.loadAvatarPrefab(loadRes, target, color);
- },
- loadAvatarPrefab(prefabPath, target, color) {
- let self = this;
- if (self.heroAvatarPrefab) {
- // cc.assetManager.releaseAsset(self.heroAvatarPrefab);
- self.heroAvatarPrefab.destroy();
- self.heroAvatarPrefab = null;
- // self.bundle.release(self.heroAvatarPrefabPath, cc.Prefab);
- }
- if (self.heroAvatarPrefabPath != prefabPath) {
- self.bundle.load(prefabPath, cc.Prefab, (err, prefab) => {
- if (err) {
- console.error('加载 Prefab 失败:', err);
- return;
- }
-
- self.heroAvatarPrefabPath = prefabPath
-
- // Prefab 加载成功后,使用 instantiate 方法创建实例
- self.heroAvatarPrefab = cc.instantiate(prefab);
- // 将实例添加到当前节点下
- this.node.addChild(self.heroAvatarPrefab);
- // 可以设置新节点的位置等属性
-
- self.heroAvatarPrefab.setParent(target);
- self.heroAvatarPrefab.setPosition(0, 0, 0);
-
- if (color) {
- self.heroAvatarPrefab.color = color
- }
- else {
- self.heroAvatarPrefab.color = cc.Color.WHITE
- }
- });
- }
- },
- });
|