• Like
Создание игр с помощью Cocos2D (Станислав Краснояров)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Создание игр с помощью Cocos2D (Станислав Краснояров)

  • 2,767 views
Published

Презентация с Станислава Красноярова «Создание игр с помощью Cocos2D», который прошел 24 ноября 2012 года в рамках 2Niversity: …

Презентация с Станислава Красноярова «Создание игр с помощью Cocos2D», который прошел 24 ноября 2012 года в рамках 2Niversity:
http://2niversity.ru/?tiny=16

Станислав Краснояров — руководитель команды/разработчик с десятилетним стажем. С момента выхода iPhone SDK вместе с небольшой командой занимается портированием игр с PC на iOS (Objective-C, C++, cocos-2d). Преподаватель авторского курса по разработке под iOS.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,767
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
11
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Разработка игр спомощью cocos2d
  • 2. Home Sweet Home Treasure Masters, Inc.
  • 3. – “Компьютерные игры – это перемещение картинок на экране в ответ на действия игрока”
  • 4. рендерингспрайтовая анимацияпокадровая анимацияобработка вводаобработка коллизий
  • 5. cocos2d-iphone Objective-C / iOScocos2d-x C++/crossplatform
  • 6. v. 1.x OpenGL ES 1.1v. 2.x OpenGL ES 2.0
  • 7. Объектная модель
  • 8. CCNodepositionscalerotationchildren
  • 9. CCNodeCCScene CCSprite Custom image
  • 10. CCScene PlayerNode : CCNode CCSprite EnemyNode : CCNode CCSprite
  • 11. DEMO
  • 12. CCNodepositionscalerotationanchorPointchildren
  • 13. anchorPoint = (0, 0) anchorPoint = (0.5, 0.5)
  • 14. scaleanchorPoint = (0, 0) anchorPoint = (0.5, 0.5)
  • 15. anchorPoint = (0, 0) anchorPoint = (0.5, 0.5)
  • 16. anchorPoint = (0, 0) anchorPoint = (0.5, 0.5)
  • 17. Спрайтовая анимация
  • 18. Спрайтовая анимация CustomNode update (float dt) { if (state == Moving) { position.x += 5 * dt; } }
  • 19. Спрайтовая анимация обычно cocos2dupdate (float dt) { action = new if (state == Moving) { MoveAction(50 /* x */, position.x += 5 * dt; 0 /* y */, } 5 /* sec */)} node->runAction(action)
  • 20. Виды действийбазовые действия callbackCCMoveTo, CCMoveBy CCCallFuncCCScaleTo, CCScaleBy...управлениеCCSequence, CCSpawn,CCRepeat, CCRepeatForever
  • 21. Покадровая анимация
  • 22. Покадровая анимация• CCAnimation – набор кадров • addFrame(“frame_x.png”)• CCAnimate::create – action• CCNode::runAction(CCAnimate ... )
  • 23. DEMO
  • 24. Обработка нажатий
  • 25. CCNode CCLayerCCScene CCSprite Custom image
  • 26. CCScene hudLayer : CCLayer ... gameLayer : CCLayer ...
  • 27. ControlLayer : CCLayer CCTargetedDelegatevirtual bool ccTouchBegan(CCTouch *, CCEvent *);virtual void ccTouchMoved(CCTouch *, CCEvent *);virtual void ccTouchEnded(CCTouch *, CCEvent *);virtual void ccTouchCancelled(CCTouch *, CCEvent *);
  • 28. ControlLayer : CCLayerc-tor() { setIsTouchEnabled(true);}void X::registerWithTouchDispatcher(){ CCDirector::sharedDirector() ->getTouchDispatcher() ->addTargetedDelegate(this, 0, true);}
  • 29. ControlLayer : CCLayerbool X::ccTouchBegan(CCTouch *pTouch, CCEvent *) { CCPoint touchPoint = convertTouchToNodeSpace(pTouch); ... return true;}
  • 30. DEMO
  • 31. Обработка коллизий
  • 32. for each bullet for each enemy if (bullet hits enemy) enemy hit
  • 33. DEMO
  • 34. • Объектная модель• Отрисовка с помощью CCSprite• Спрайтовая анимация (update или action)• Покадровая анимация• Обработка нажатий• Обработка коллизий
  • 35. Первые шаги
  • 36. • Скачать и установить cocos2d/cocos2d-x• Создать и запустить проект по шаблону• (опц.) Обсудить реализацию игры• Создать первый класс игрового объекта
  • 37. Текстурные атласы
  • 38. CCSpriteSheet CCSprite CCSprite CCSprite
  • 39. Particle System
  • 40. CCParticleSystem .position .velocity .gravity .texture...addChild(system)