mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-10-13 02:26:07 +00:00
update 添加松鼠角色
This commit is contained in:
63
JisolGameCocos/assets/script/battle/base/common/GSpine.ts
Normal file
63
JisolGameCocos/assets/script/battle/base/common/GSpine.ts
Normal file
@@ -0,0 +1,63 @@
|
||||
import { sp } from "cc";
|
||||
import GRoleBase from "../role/GRoleBase";
|
||||
import JNSkeleton from "../../../../../extensions/ngame/assets/ngame/sync/frame/game/spine/JNFrameSkeleton";
|
||||
import { Node } from "cc";
|
||||
import GBaseMode from "../../GBaseMode";
|
||||
import { Vec2 } from "cc";
|
||||
|
||||
|
||||
//Spine 工具
|
||||
export default class GSpine{
|
||||
|
||||
//保存当前Spine 播放新 Spine 结束后还原
|
||||
static onPlayAnotherSpine(role:GRoleBase<{}>,spine:sp.SkeletonData,play:string,fun:{
|
||||
start?:(ske:JNSkeleton) => void,
|
||||
end?:() => void,
|
||||
} = {}):JNSkeleton{
|
||||
|
||||
//关闭当前角色原本的Spine
|
||||
role.spine.enabled = false;
|
||||
//添加新的spine
|
||||
let spineNode = new Node();
|
||||
role.node.addChild(spineNode);
|
||||
let another = spineNode.addComponent(JNSkeleton);
|
||||
another.skeletonData = spine;
|
||||
fun.start && fun.start(another);
|
||||
another.setCompleteListener(() => {
|
||||
//还原
|
||||
role.spine.enabled = true;
|
||||
spineNode.destroy();
|
||||
fun.end && fun.end();
|
||||
});
|
||||
another.setAnimation(0,play,false);
|
||||
// another.setAnimation(0,play,false);
|
||||
return another;
|
||||
|
||||
}
|
||||
|
||||
//创建一个Spine
|
||||
static onCreateSpine(spine:sp.SkeletonData):JNSkeleton{
|
||||
|
||||
let spineNode = new Node();
|
||||
let another = spineNode.addComponent(JNSkeleton);
|
||||
another.premultipliedAlpha = false;
|
||||
another.skeletonData = spine;
|
||||
return another;
|
||||
|
||||
}
|
||||
|
||||
// 创建一个 Spine 并且 播放 销毁
|
||||
static onPlaySceneSpine(scene:GBaseMode<{}>,pos:Vec2,spine:sp.SkeletonData,play:string):JNSkeleton{
|
||||
|
||||
let create = this.onCreateSpine(spine);
|
||||
scene.addGNode(create.node,pos);
|
||||
create.setCompleteListener(() => {
|
||||
//销毁
|
||||
create.node.destroy();
|
||||
});
|
||||
create.setAnimation(0,play);
|
||||
return create;
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user