cocos2dx游戏开发简单入门视频教程 (cocos2d-x)-第2天

转载请注明出处:http://blog.csdn.net/xingxiliang/article/details/18557631


出品了box2d编辑工具PhysicsEditor的视频(一起做一个实战级别的游戏,需要MAC操作系统)http://blog.csdn.net/s_xing/article/details/21331459

出品了box2d物理引擎视频http://blog.csdn.net/s_xing/article/details/20836727

更新:出进阶篇http://blog.csdn.net/s_xing/article/details/20165097请大家关注


更新:上传到了优酷

http://v.youku.com/v_show/id_XNjY0MjEzNzI0.html       第1课

http://v.youku.com/v_show/id_XNjY0MjMzMzYw.html   第2课

http://v.youku.com/v_show/id_XNjY0MjU1OTcy.html    第3课

http://v.youku.com/v_show/id_XNjY0MzQxMDE2.html  第4课

http://v.youku.com/v_show/id_XNjY1MTI3NjYw.html     第5课

http://v.youku.com/v_show/id_XNjY1MTI5ODQw.html    第6课


高清还请从百度网盘下载。


第1天的地址:

http://blog.csdn.net/xingxiliang/article/details/18557631

第3天课程的地址:

http://blog.csdn.net/xingxiliang/article/details/18676889



书接上回:今天我们让我们的主角可以发射飞镖。


avi版本可以方便的在手机,pc上查看。下载地址(只有20M左右,下载很快):http://pan.baidu.com/s/1ELk78



this->setTouchEnabled(true);  // 在HelloWorld::init函数中


void HelloWorld::ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent) // 触摸事件响应函数
{
	CCTouch* touch = (CCTouch*)pTouches->anyObject();
	CCPoint locInView = touch->getLocationInView();
	CCPoint loc = CCDirector::sharedDirector()->convertToGL(locInView); //从UI坐标变换到cococs2d中的坐标


	if (loc.x <= 20)// 触摸点在出发点左侧不处理
	{


		return ;
	}


	CCSize screenSize = CCDirector::sharedDirector()->getVisibleSize();


	CCSprite* proj = CCSprite::create("Projectile.png");
	proj->setPosition(ccp(20, screenSize.height / 2.0));
	this->addChild(proj); //创建飞镖精灵


	


	double dx = loc.x - 20;
	double dy = loc.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; // 最终点的x坐标
	double endy = ratio * dy + screenSize.height / 2.0;// 最终点的y坐标


	CCMoveTo* move = CCMoveTo::create(D / 320, ccp(endx, endy));
	CCCallFuncN* moveFinish = CCCallFuncN::create(this, callfuncN_selector(HelloWorld::myDefine));
	CCSequence* actions = CCSequence::create(move, moveFinish, NULL);
	proj->runAction(actions);
}

转载请注明出处: http://blog.csdn.net/xingxiliang/article/details/18599871

你可能感兴趣的:(cocos2dx游戏开发简单入门视频教程 (cocos2d-x)-第2天)