图一是该动画在编辑器中的样子 (其中包含粒子特效)
在下程序中让动画在点击的位置播放
可是明显其中的粒子效果坐标错误了
即使点击的坐标有问题 但是 粒子的坐标应该是和前面的一部分一致的啊
为什么会有这种错乱的现象啊。
是不是少了一张图了?
程序中的所谓错乱是怎么样的?
刚才图2上传失败了 在传一次
感觉就是动画中图片部分的坐标可控制而粒子的坐标不受控制似得
方便把动画工程给我么。
怎么给你啊???
加我Q吧,头像上边有
QQ可以吗??
872081656 刚加了
已经发QQ邮箱了
版主大大 查出原因没有???
如何修改的坐标?
我没复现。
bool HelloWorld::onTouchBegan(Touch *touch, Event *unused_event){
CCPoint pos = touch->getLocation();
arm->setPosition(pos);
arm->getAnimation()->play(“dead”);
thepos->setString(CCString::createWithFormat("%0.f|%0.f",pos.x,pos.y)->getCString());
return true;
}
没能复现。。。测试过新版本么?
我用的是3.4beta0
把工程的循环取消 就会很明显 几乎每次点击都会错位
动画编辑器》帮助》新版本检测 提示是最新版本
.h
cocos2d::CCLabelTTF* thepos;
cocostudio::Armature * arm;
```
.cpp
init();
ArmatureDataManager::getInstance()->addArmatureFileInfo("Export/dead_xhm/dead_xhm.ExportJson");
arm = Armature::create("dead_xhm");
arm->setPosition(400,240);
this->addChild(arm);
thepos = CCLabelTTF::create("400|240", "Arial", 32);
thepos->setPosition(ccp(100,240));
this->addChild(thepos);
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(false);
listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this);
_eventDispatcher->addEventListenerWithFixedPriority(listener, -1);
```
onTouchBegan();
CCPoint pos = touch->getLocation();
arm->setPosition(pos);
arm->getAnimation()->play("dead");
thepos->setString(CCString::createWithFormat("%0.f|%0.f",pos.x,pos.y)->getCString());
return true;
```
这就是所有的主要代码 而且很奇怪的是 另外一个 类似的动画不会这样
下面是以上代码运行的结果和版本检测提示
不得已才用了个笨办法 错位是消除了 可是效率方面
在onTouchBegan()中加上
arm->removeFromParent();
arm = Armature::create(“dead_xhm”);
this->addChild(arm);
由此可见 该Aramature中的粒子特效只有在一次setpostion()时才会起效
之后就不受影响了