cocos2d-x学习三触摸抬起响应喷发子弹
来源:互联网 发布:网络买卖软件 编辑:程序博客网 时间:2024/05/17 02:08
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayerColor::initWithColor(ccc4(255,255,255,255))) { return false; } CCSize screenSize = CCDirector::sharedDirector()->getVisibleSize();CCSprite *pSprite = CCSprite::create("Player.png");pSprite->setPosition(ccp(20.0,screenSize.height/2));this->addChild(pSprite); this->schedule(schedule_selector(HelloWorld::time),2);this->setTouchEnabled(true); return true;}
1.固定子弹速度,固定距离D,也就是固定了move动作的时间间隔。
2.通过相似三角形获得子弹终点。
void HelloWorld::ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent) {CCTouch *touch = (CCTouch *)pTouches->anyObject();CCPoint locInVw = touch->getLocationInView();CCPoint locInGl = CCDirector::sharedDirector()->convertToGL(locInVw);CCSize screenSize = CCDirector::sharedDirector()->getVisibleSize();CCSprite *proj = CCSprite::create("Projectile.png");proj->setPosition(ccp(20.0,screenSize.height/2.0));this->addChild(proj);double dx = locInGl.x - 20;double dy = locInGl.y - screenSize.height/2.0;double d = sqrt(dx*dx + dy*dy);double D = sqrt(screenSize.width * screenSize.width + screenSize.height * screenSize.height);double ratio = D/d;double endx = ratio * dx + 20;double endy = ratio *dy + screenSize.height/2.0;CCMoveTo *move = CCMoveTo::create(D/320,ccp(endx,endy));CCCallFuncN *sd = CCCallFuncN::create(this,callfuncN_selector(HelloWorld::selfdefinedAc));CCSequence *actions = CCSequence::create(move,sd,NULL);proj->runAction(actions);}
void HelloWorld::selfdefinedAc(CCNode* pSender){//m_pSprite->setPosition(ccp(0.0,0.0));//m_pSprite->setScale(2.0);pSender->removeFromParentAndCleanup(true);}
0 0
- cocos2d-x学习三触摸抬起响应喷发子弹
- cocos2d-x 触摸消息响应
- cocos2d-x的触摸响应
- cocos2d-x学习之层的触摸消息响应
- cocos2d-x学习之层的触摸消息响应
- cocos2d-x 3.x 触摸响应
- Cocos2d-x 触摸响应事件CCTouchDelegate
- cocos2d-x之触摸的响应
- cocos2d-x学习四子弹打怪兽结合二、三学习
- cocos2d-x发射子弹
- cocos2d-x总结(三)场景中的层(CCLayer)及其触摸消息响应
- cocos2d-x场景中的层(CCLayer)及其触摸消息响应
- Cocos2d-x ccSprite的触摸消息响应 - ccsx教程
- cocos2d-x场景中的层(CCLayer)及其触摸消息响应
- cocos2d-x场景中的层(CCLayer)及其触摸消息响应
- cocos2d-x如何发射子弹
- Cocos2d-x--发射多发子弹
- 实现Cocos2d-x追踪子弹
- php中的cookie用法
- hibernate和Ibatis的区别是什么
- IIS文件上传大小设置
- 简易gdb调试命令
- hdu 3666 THE MATRIX PROBLEM 差分约束系统
- cocos2d-x学习三触摸抬起响应喷发子弹
- 安卓动态壁纸源码--可直接进入壁纸设置界面+玫瑰花瓣飘落效果+可分享到微博、微信功能--无任何删减2
- Xen HyperCall 详解
- 折叠式列表菜单模板设计
- Android 网络开发:浅谈 WebView
- if...else... 语句
- Linux下启动httpd服务提示not bind to address
- CentOS下 将文件打开方式以 浏览式打开,,而不是新建一个窗口
- 第三周作业——冒泡排序和归并排序