gpt4 book ai didi

cocos2d-x - cocos2d::CCmoveTO

转载 作者:行者123 更新时间:2023-12-04 18:22:08 25 4
gpt4 key购买 nike

嗨,我是 cocos2dx 编程的新手............

我正在尝试对目标 Sprite 进行抛射运动

//在 addtarget() 部分

int i(0);
while(i<20)
{
p=HelloWorld::nextPoint(p,0.5);//p is a struct see below.

cocos2d::CCFiniteTimeAction* actionMove=cocos2d::CCMoveTo::actionWithDuration(1.0, ccp(p.x,p.y));
target->runAction( cocos2d::CCSequence::actions(actionMove,NULL));
++i;
}
cocos2d::CCFiniteTimeAction* actionMoveDone = cocos2d::CCCallFuncN::actionWithTarget( this,callfuncN_selector(HelloWorld::spriteMoveFinished));

target->runAction( cocos2d::CCSequence::actions(actionMoveDone, NULL) );

nextPoint 是一个返回 struct p 的函数(具有时间、速度和空间坐标 t,x,y,vx,vy)
当在循环之外时,它运行得很好,但是当在循环内部时,它不显示任何东西
调试完成,所有坐标都很好
尝试删除 NUll 不行
最后使用贝塞尔曲线,所以现在它可以部分工作。
但无法理解为什么 CCMoveTo 不起作用。它总是显示(60,60)的初始坐标
& 还有一些很好的 cocos 2dx 教程链接,供那些刚接触手机游戏编程的人使用。谢谢!

最佳答案

使用此代码...

while(i<20)
{
p=HelloWorld::nextPoint(p,0.5);//p is a struct see below.

cocos2d::CCFiniteTimeAction* actionMove=cocos2d::CCMoveTo::actionWithDuration(1.0, ccp(p.x,p.y));
cocos2d::CCFiniteTimeAction* actionMoveDone = cocos2d::CCCallFuncN::actionWithTarget( this,callfuncN_selector(HelloWorld::spriteMoveFinished));

target->runAction( cocos2d::CCSequence::actions(actionMove,actionMoveDone,NULL));
++i;
}

检查语法..这有帮助.. :)

关于cocos2d-x - cocos2d::CCmoveTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10444390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com