spine動畫插入任意Actor

spine中插入任意Actor

原理替換到data數(shù)據(jù)中的region

修改部分

Skin

add set region方法
public void setAttachment(Attachment attachment) {
  this.attachment = attachment;
}

獲取data數(shù)據(jù),設(shè)置region

SkeletonData data = actor.getSkeleton().getData();
Skin defaultSkin = data.getDefaultSkin();
for (Skin.SkinEntry attachment : defaultSkin.getAttachments()) {
    if (attachment.getName().equals("xuanq2_00")) {
        attachment.setAttachment(actorAttachment);
    }
}

修改renderer方法

draw方法加入
if (attachment instanceof ActorAttachment){
    Actor actor = ((ActorAttachment) attachment).getActor();
    Bone bone = slot.getBone();
    float worldX = bone.getWorldX();
    float worldY = bone.getWorldY();
    actor.setOrigin(Align.center);
    actor.setPosition(worldX,worldY, Align.center);
    actor.setScale(bone.scaleX,bone.scaleY);
    actor.setColor(slot.getColor());
    actor.draw(batch,skeleton.color.a);
}

自定義ActorAttachment

import com.badlogic.gdx.scenes.scene2d.Actor;

public class ActorAttachment extends Attachment {

    private Actor actor;

    public ActorAttachment(String name) {
        super(name);
    }

    public Actor getActor() {
        return actor;
    }

    public ActorAttachment(ActorAttachment actorAttachment) {
        super(actorAttachment);
        this.actor = actorAttachment.actor;
    }

    public void setActor(Actor actor) {
        this.actor = actor;
    }

    @Override
    public Attachment copy() {
        return new ActorAttachment(this);
    }
}

理論上可以支持任意……

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • """1.個性化消息: 將用戶的姓名存到一個變量中,并向該用戶顯示一條消息。顯示的消息應(yīng)非常簡單,如“Hello ...
    她即我命閱讀 5,309評論 0 6
  • 為了讓我有一個更快速、更精彩、更輝煌的成長,我將開始這段刻骨銘心的自我蛻變之旅!從今天開始,我將每天堅持閱...
    李薇帆閱讀 2,248評論 1 4
  • 似乎最近一直都在路上,每次出來走的時候感受都會很不一樣。 1、感恩一直遇到好心人,很幸運。在路上總是...
    時間里的花Lily閱讀 1,753評論 1 3
  • 1、expected an indented block 冒號后面是要寫上一定的內(nèi)容的(新手容易遺忘這一點); 縮...
    庵下桃花仙閱讀 1,103評論 1 2
  • 一、工具箱(多種工具共用一個快捷鍵的可同時按【Shift】加此快捷鍵選取)矩形、橢圓選框工具 【M】移動工具 【V...
    墨雅丫閱讀 1,601評論 0 0

友情鏈接更多精彩內(nèi)容