Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New armatureTest by using armature JSB. #204

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 93 additions & 42 deletions tests/ExtensionsTest/ArmatureTest/ArmatureTest.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,6 @@ var armatureSceneIdx = -1;

var ArmatureTestScene = TestScene.extend({
onEnter:function(){
cc.ArmatureDataManager.getInstance().addArmatureFileInfo(s_TestBone_png, s_TestBone_plist, s_TestBone_json);
cc.ArmatureDataManager.getInstance().addArmatureFileInfo(s_Cowboy_png, s_Cowboy_plist, s_Cowboy_json);
cc.ArmatureDataManager.getInstance().addArmatureFileInfo(s_knight_png, s_knight_plist, s_knight_xml);
cc.ArmatureDataManager.getInstance().addArmatureFileInfo(s_weapon_png, s_weapon_plist, s_weapon_xml);
cc.ArmatureDataManager.getInstance().addArmatureFileInfo(s_robot_png, s_robot_plist, s_robot_xml);
cc.ArmatureDataManager.getInstance().addArmatureFileInfo(s_cyborg_png, s_cyborg_plist, s_cyborg_xml);
cc.ArmatureDataManager.getInstance().addArmatureFileInfo(s_Dragon_png, s_Dragon_plist, s_Dragon_xml);
this._super();
},
runThisTest:function () {
Expand All @@ -50,6 +43,9 @@ var armatureSceneArr = [
function () {
return new TestCSWithSkeleton();
},
// function () {
// return new TestCSWithChariard();
// },
function () {
return new TestCSWithoutSkeleton();
},
Expand Down Expand Up @@ -80,7 +76,6 @@ var armatureSceneArr = [
function () {
return new TestParticleDisplay();
}

];

var nextArmatureTest = function () {
Expand Down Expand Up @@ -144,6 +139,7 @@ var ArmatureTestLayer = BaseTestLayer.extend({
//------------------------------------------------------------------
var TestCSWithSkeleton = ArmatureTestLayer.extend({
onEnter:function () {
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/Cowboy.ExportJson");
this._super();
var armature = cc.Armature.create("Cowboy");
armature.getAnimation().playByIndex(0);
Expand All @@ -159,21 +155,56 @@ var TestCSWithSkeleton = ArmatureTestLayer.extend({

//------------------------------------------------------------------
//
// TestCSWithoutSkeleton
// TestCSWithChariard
//
//------------------------------------------------------------------
var TestCSWithoutSkeleton = ArmatureTestLayer.extend({
var TestCSWithChariard = ArmatureTestLayer.extend({
onEnter:function () {
// cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/chariard.ExportJson");
cc.ArmatureDataManager.getInstance().addArmatureFileInfoAsync("res/armature/chariard.ExportJson",this, this.testCallBack);
this._super();
var armature = cc.Armature.create("TestBone");
},
title:function () {
return "Test Export From CocoStudio With Chariard";
},
testCallBack:function(time){
var armature = cc.Armature.create("chariard");
armature.getAnimation().playByIndex(0);
armature.setScale(1.5);
armature.setAnchorPoint(cc.p(0.5, 0.5));
armature.setScale(0.2);
armature.setPosition(cc.p(winSize.width / 2, winSize.height / 2));
this.addChild(armature);
}
});

//------------------------------------------------------------------
//
// TestCSWithoutSkeleton
//
//------------------------------------------------------------------
var TestCSWithoutSkeleton = ArmatureTestLayer.extend({
onEnter:function () {
// cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/TestBone0.png", "res/armature/TestBone0.plist", "res/armature/TestBone.json");
cc.ArmatureDataManager.getInstance().addArmatureFileInfoAsync("res/armature/TestBone0.png", "res/armature/TestBone0.plist", "res/armature/TestBone.json", this, this.testCallBack);
//
this._super();
// var armature = cc.Armature.create("TestBone");
// armature.getAnimation().playByIndex(0);
// armature.setAnchorPoint(cc.p(0.5, 0.5));
// armature.setScale(0.2);
// armature.setPosition(cc.p(winSize.width / 2, winSize.height / 2));
// this.addChild(armature);
},
title:function () {
return "Test Export From CocoStudio Without Skeleton Effect";
},
testCallBack:function(time){
var armature = cc.Armature.create("TestBone");
armature.getAnimation().playByIndex(0);
armature.setScale(0.2);
armature.setAnchorPoint(cc.p(0.5, 0.5));
armature.setPosition(cc.p(winSize.width / 2, winSize.height / 2));
this.addChild(armature);
}
});

Expand All @@ -184,6 +215,7 @@ var TestCSWithoutSkeleton = ArmatureTestLayer.extend({
//------------------------------------------------------------------
var TestDragonBones20 = ArmatureTestLayer.extend({
onEnter:function () {
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/Dragon.png", "res/armature/Dragon.plist", "res/armature/Dragon.xml");
this._super();
var armature = cc.Armature.create("Dragon");
armature.getAnimation().playByIndex(0);
Expand All @@ -193,11 +225,13 @@ var TestDragonBones20 = ArmatureTestLayer.extend({
armature.setPosition(cc.p(winSize.width / 2, winSize.height / 2));
this.addChild(armature);
},

title:function () {
return "Test Export From DragonBones version 2.0";
}
});


//------------------------------------------------------------------
//
// TestPerformance
Expand All @@ -207,6 +241,7 @@ var TestPerformance = ArmatureTestLayer.extend({
armatureCount:0,
times:0,
onEnter:function () {
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/knight.png", "res/armature/knight.plist", "res/armature/knight.xml");
this._super();
this.armatureCount = 0;
this.times = 0;
Expand Down Expand Up @@ -243,6 +278,10 @@ var TestPerformance = ArmatureTestLayer.extend({
var TestChangeZorder = ArmatureTestLayer.extend({
currentTag:0,
onEnter:function () {
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/Cowboy0.png", "res/armature/Cowboy0.plist", "res/armature/Cowboy.json");
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/Dragon.png", "res/armature/Dragon.plist", "res/armature/Dragon.xml");
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/TestBone0.png", "res/armature/TestBone0.plist", "res/armature/TestBone.json");
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/knight.png", "res/armature/knight.plist", "res/armature/knight.xml");
this._super();
var armature = null;
armature = cc.Armature.create("Knight_f/Knight");
Expand Down Expand Up @@ -284,39 +323,45 @@ var TestChangeZorder = ArmatureTestLayer.extend({
//------------------------------------------------------------------
var TestAnimationEvent = ArmatureTestLayer.extend({
_armature:null,
_direction:1,
onEnter:function () {
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/Cowboy.ExportJson");
this._super();

this._armature = cc.Armature.create("Cowboy");
this._armature.getAnimation().play("FireWithoutBullet");
this._armature.setScaleX(-0.25);
this._armature.setScaleY(0.25);
this._armature.getAnimation().play("Fire");
this._armature.setScaleX(-0.24);
this._armature.setScaleY(0.24);
this._armature.setPosition(cc.p(winSize.width / 2 - 150, winSize.height / 2));
this._armature.getAnimation().connectEvent(this, this.animationEvent);
this._armature.getAnimation().setMovementEventCallFunc(this.animationEvent, this);
this.addChild(this._armature);

this._direction = 1;


},
title:function () {
return "Test Armature Animation Event";
},
animationEvent:function (armature, movementType, movementID) {
if (movementType == CC_MovementEventType_LOOP_COMPLETE) {
if (movementID == "FireWithoutBullet") {
var moveBy = cc.MoveBy.create(2, cc.p(300 * this._direction, 0));
if(movementType == 2){
if (movementID == "Fire") {
var actionToRight = cc.MoveTo.create(2, cc.p(VisibleRect.right().x - 50, VisibleRect.right().y));
this._armature.stopAllActions();
this._armature.runAction(cc.Sequence.create(moveBy, cc.CallFunc.create(this.callback, this)));
this._armature.runAction(cc.Sequence.create(actionToRight, cc.CallFunc.create(this.callback1, this)));
this._armature.getAnimation().play("Walk");

}else if(movementID == "FireMax"){
var actionToLeft = cc.MoveTo.create(2, cc.p(VisibleRect.left().x + 50, VisibleRect.left().y));
this._armature.stopAllActions();
this._armature.runAction(cc.Sequence.create(actionToLeft, cc.CallFunc.create(this.callback2, this)));
this._armature.getAnimation().play("Walk");

this._direction *= -1;
}
}
},
callback:function () {
this._armature.runAction(cc.ScaleTo.create(0.3, 0.25 * this._direction * -1, 0.25));
this._armature.getAnimation().play("FireWithoutBullet", 10);
callback1:function () {
this._armature.runAction(cc.ScaleTo.create(0.3, 0.24, 0.24));
this._armature.getAnimation().play("FireMax", 10);
},
callback2:function () {
this._armature.runAction(cc.ScaleTo.create(0.3, -0.24, 0.24));
this._armature.getAnimation().play("Fire", 10);
}
});

Expand All @@ -334,25 +379,27 @@ var TestParticleDisplay = ArmatureTestLayer.extend({

this.animationID = 0;

cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/robot.png", "res/armature/robot.plist", "res/armature/robot.xml");
this._super();
this.armature = cc.Armature.create("robot");
this.armature.getAnimation().playByIndex(0);
this.armature.setPosition(VisibleRect.center());
this.armature.setScale(0.48);
this.addChild(this.armature);

var displayData = new cc.ParticleDisplayData();
displayData.setParam("res/Particles/SmallSun.plist");

var p1 = cc.ParticleSystem.create("res/Particles/SmallSun.plist");
var p2 = cc.ParticleSystem.create("res/Particles/SmallSun.plist");
var bone = cc.Bone.create("p1");
bone.addDisplay(displayData, 0);
bone.addDisplay(p1, 0);
bone.changeDisplayByIndex(0, true);
bone.setIgnoreMovementBoneData(true);
bone.setZOrder(100);
bone.setScale(1.2);
this.armature.addBone(bone, "bady-a3");

bone = cc.Bone.create("p2");
bone.addDisplay(displayData, 0);
bone.addDisplay(p2, 0);
bone.changeDisplayByIndex(0, true);
bone.setIgnoreMovementBoneData(true);
bone.setZOrder(100);
Expand All @@ -373,7 +420,7 @@ var TestParticleDisplay = ArmatureTestLayer.extend({
}

});

//
//------------------------------------------------------------------
//
// TestUseMutiplePicture
Expand All @@ -383,6 +430,8 @@ var TestUseMutiplePicture = ArmatureTestLayer.extend({
displayIndex:0,
armature:null,
onEnter:function () {
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/weapon.png", "res/armature/weapon.plist", "res/armature/weapon.xml");
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/knight.png", "res/armature/knight.plist", "res/armature/knight.xml");
this._super();
this.setTouchEnabled(true);

Expand All @@ -396,10 +445,9 @@ var TestUseMutiplePicture = ArmatureTestLayer.extend({

var weapon = ["weapon_f-sword.png", "weapon_f-sword2.png", "weapon_f-sword3.png", "weapon_f-sword4.png", "weapon_f-sword5.png", "weapon_f-knife.png", "weapon_f-hammer.png"];

var displayData = new cc.SpriteDisplayData();
for (var i = 0; i < 7; i++) {
displayData.setParam(weapon[i]);
this.armature.getBone("weapon").addDisplay(displayData, i);
var skin = cc.Skin.createWithSpriteFrameName(weapon[i]);
this.armature.getBone("weapon").addDisplay(skin, i);
}
},
title:function () {
Expand Down Expand Up @@ -440,7 +488,7 @@ var TestBoundingBox = ArmatureTestLayer.extend({
armature:null,
onEnter:function () {
this._super();

cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/Cowboy.ExportJson");
this.armature = cc.Armature.create("Cowboy");
this.armature.getAnimation().playByIndex(0);
this.armature.setPosition(cc.p(winSize.width / 2, winSize.height / 2));
Expand All @@ -465,6 +513,7 @@ var TestBoundingBox = ArmatureTestLayer.extend({
//------------------------------------------------------------------
var TestAnchorPoint = ArmatureTestLayer.extend({
onEnter:function () {
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/Cowboy.ExportJson");
this._super();
for (var i = 0; i < 5; i++) {
var armature = cc.Armature.create("Cowboy");
Expand Down Expand Up @@ -494,6 +543,7 @@ var TestArmatureNesting = ArmatureTestLayer.extend({
armature:null,
weaponIndex:0,
onEnter:function () {
cc.ArmatureDataManager.getInstance().addArmatureFileInfo("res/armature/cyborg.png", "res/armature/cyborg.plist", "res/armature/cyborg.xml");
this._super();

this.setTouchEnabled(true);
Expand All @@ -506,10 +556,11 @@ var TestArmatureNesting = ArmatureTestLayer.extend({
this.weaponIndex = 0;
},
title:function () {
return "Test Set AnchorPoint";
return "Test Set ChildByTag";
},
onTouchesEnded:function (touch, event) {
++this.weaponIndex;

this.weaponIndex = this.weaponIndex % 4;
this.armature.getBone("armInside").getChildArmature().getAnimation().playByIndex(this.weaponIndex);
this.armature.getBone("armOutside").getChildArmature().getAnimation().playByIndex(this.weaponIndex);
Expand Down