рдкрд╛рдпрдерди рдореЗрдВ Cocos2d рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЗрд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░рдирд╛

рдЫрд╡рд┐

рдкрд░рд┐рдЪрдп


рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдкрд░ Cocos2d рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ iPhone рдХреЗ рд▓рд┐рдП рдЧреЗрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ , рдЗрд╕ рдЗрдВрдЬрди рдкрд░ рдЧреЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 1800 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдЙрд╕реЗ рд╣реИрдмреЗ рдкрд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдиреНрдп рдкреЛрд░реНрдЯ (C ++ рдореЗрдВ cocos2d-x рдФрд░ Java рдореЗрдВ cocos2d-android) рднреА рдЬрд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрди рдЗрдВрдЬрдиреЛрдВ рдХреЗ рдкреВрд░реНрд╡рдЬ, рдореВрд▓ Cocos2d рдХреЛ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

Cocos2d рдХреЛ рдкрд╛рдпрд▓реЗрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╛рдпрдерди рдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рдЗрд╕рдХреА рд╕рд░рд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ рдФрд░ рддреЗрдЬреА рд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдФрд░ рдЧреЗрдо рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рд╣реИред рдЗрдВрдЬрди рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдкрдиреЗ рд╡рдВрд╢рдЬреЛрдВ рд╕реЗ рдХреБрдЫ рдкреАрдЫреЗ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдпрд╣ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИред рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдЦрд░рд╛рдм рдЧреБрдгрд╡рддреНрддрд╛ рд╣реИ: рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реНрдерд╛рдпреА TODO рдкреНрд▓рдЧ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╣реЛрддреА рд╣реИред рдПрдкреАрдЖрдИ рдореЗрдВ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рднреА рд╣реИрдВред рдлрд┐рд░ рднреА, рдХрд┐рдЯ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдореВрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рддреЛ, Cocos2d рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЖрд░рдВрдн рдХрд░реЗрдВред

рджреГрд╢реНрдп рдФрд░ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдг


рдПрдХ рджреГрд╢реНрдп ( cocos.scene.Scene рд╡рд░реНрдЧ) рдЖрдкрдХреЗ рдЦреЗрд▓ рдХрд╛ рдПрдХ рд╕реНрддрд░ рдпрд╛ рд╕реНрдХреНрд░реАрди рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрддрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рджреГрд╢реНрдп рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреГрд╢реНрдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓рдЯрди рдирд┐рд░реНрджреЗрд╢рдХ ( cocos.director.director ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

# cocos2d
import cocos

# director; , .
cocos.director.director.init()

# ,
cocos.director.director.run(cocos.scene.Scene())

рдЦреЗрд▓ рдХреЗ рджреМрд░рд╛рди, рдирд┐рд░реНрджреЗрд╢рдХ рджреГрд╢реНрдпреЛрдВ рдХреЗ рдвреЗрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рджреГрд╢реНрдп рд╕реНрдЯреИрдХ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рдЬрдм рдПрдХ рдирдпрд╛ рджреГрд╢реНрдп рд╕реНрдЯреИрдХ рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рд░реНрджреЗрд╢рдХ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИ, рдФрд░ рдкрд┐рдЫрд▓реЗ рджреГрд╢реНрдп рдХреЛ рд░реЛрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рд╢реАрд░реНрд╖ рджреГрд╢реНрдп рдХреЛ рд╕реНрдЯреИрдХ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рд░реНрджреЗрд╢рдХ рдкрд┐рдЫрд▓реЗ рджреГрд╢реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдиреЗрд╕реНрдЯреЗрдб рд╕реНрддрд░ рдпрд╛ рдЗрди-рдЧреЗрдо рдореЗрдиреВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреГрд╢реНрдп рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрджреЗрд╢рдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ push() , pop() рдФрд░ replace() ред replace() рдХреЙрд▓ pop() рдФрд░ push() рдХреЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдХреЙрд▓ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред

рджреГрд╢реНрдп рд╕рдВрд░рдЪрдирд╛


рдПрдХ рджреГрд╢реНрдп рдПрдХ рдкреЗрдбрд╝ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рд╡рд╕реНрддреБрдУрдВ (рдиреЛрдбреНрд╕) рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рд╡реГрдХреНрд╖ рдХреА рдЬрдбрд╝ рд╣реА рджреГрд╢реНрдп рд╣реИред рдЗрд╕ рдореЙрдбрд▓ рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ (рд╕реНрдерд┐рддрд┐, рдХреЛрдг, рд╕реНрдХреЗрд▓) рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдмрдЪреНрдЪреЛрдВ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣, рдЖрдк рдЬрдЯрд┐рд▓ рдорд┐рд╢реНрд░рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдирдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрдВрдЬрди рд░реЗрдбреА-рдореЗрдб рдиреЛрдб рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рдХреНрд╕ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд░рдд ( cocos.layer.Layer ), рдПрдХ рд╕реНрдкреНрд░рд╛рдЗрдЯ ( cocos.sprite.Sprite ), рдкрд╛рда ( cocos.text.Label ), рдПрдХ рдХрдг рдкреНрд░рдгрд╛рд▓реА ( cocos.particle.ParticleSystem ) рдФрд░ рдХрдИ рдЕрдиреНрдпред )ред рдЖрдк cocos.cocosnode.CocosNode рдпрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдиреЛрдбреНрд╕ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред

import cocos
cocos.director.director.init()

#
scene = cocos.scene.Scene()

#
scene.add(cocos.text.Label("Hello world!", position = (100, 200))

#
cocos.director.director.run(scene)

рдиреЛрдб рд╕рдВрд░рдЪрдирд╛ add() , remove() рдФрд░ kill() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреГрд╢реНрдп рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред

рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ (рдФрд░ рди рдХреЗрд╡рд▓ рдЙрдирдХреЗ) рд░рд╛рдЬреНрдп рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИрдВред рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдШреВрд░реНрдгрди рдкрд╛рда рдХреЗ рд╕рд╛рде рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдиреЛрдб рдмрдирд╛рдПрдВ:

import cocos

class RotatingText(cocos.text.Label):
#
def __init__(self, text = "", position = (0, 0)):
super(RotatingText, self).__init__(text, position)
self.schedule(self.update)

# ,
def update(self, dt):
self.rotation += dt * 20

cocos.director.director.init()
scene = cocos.scene.Scene()
scene.add(RotatingText("Hello world!", (100, 200)))
cocos.director.director.run(scene)

рдХрд╛рд░реНрд░рд╡рд╛рдИ


рдЙрдкрд░реЛрдХреНрдд рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдХрд░ рдФрд░ рдЙрдирдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рдбреЗрдореЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреЛ Cocos2d рдХреЛ рдЗрддрдирд╛ рд▓рдЪреАрд▓рд╛ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдмрдирд╛рддрд╛ рд╣реИ, рд╡рд╣ рдЗрд╕рдХреА рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдФрд░ рдЕрдм рд╣рдо рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред

рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдЙрд╕рдХреЗ рд░рд╛рдЬреНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИред

import cocos
cocos.director.director.init()
scene = cocos.scene.Scene()
label = cocos.text.Label("Hello world!", position = (100, 200))
scene.add(label)
# 200 5
label.do(cocos.actions.MoveBy((200, 0), duration = 5))
cocos.director.director.run(scene)

рдХреНрд░рд┐рдпрд╛рдПрдБ рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рдФрд░ рдЕрдВрддрд░рд╛рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХреНрд░рд┐рдпрд╛рдПрдБ рдирд┐рд░рдкреЗрдХреНрд╖ рдФрд░ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реЛрддреА рд╣реИрдВред рдорд╛рдирдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
рдкреБрди: рдкрд░рд┐рднрд╛рд╖рд┐рдд рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж + рдФрд░ | рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕рдВрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕рдорди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдпреБрдХреНрдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

# 100 5 3
label.do(cocos.actions.MoveBy((0, 100), 5) + cocos.actions.FadeOut(3))

рдПрдХ рдЕрд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдпреБрдХреНрдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

# 100 , 90 , 5
label.do(cocos.actions.MoveBy((0, 100), 5) | cocos.actions.RotateBy(90, 5))

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрд╢реЛрдзрдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред рдорд╛рдирдХ рд╕рдВрд╢реЛрдзрдХ рдХреНрд░рд┐рдпрд╛рдПрдВ:
# - 200 3
action = cocos.actions.MoveBy((200, 0), 3)
label.do(cocos.actions.Repeat(action + cocos.actions.Reverse(action)))

рдбрд┐рдмрдЧрд┐рдВрдЧ


Cocos2d рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд Python рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ Ctrl-I рджрдмрд╛рдХрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреБрднрд╛рд╖рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЖрдк рдЦреЗрд▓ рдХрд╛ рдкреВрд░реНрдг рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рд╖реНрдкрд╛рджрди рдмрдВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдХрдИ рдореБрджреНрджреЗ (рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди, рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ, рджреГрд╢реНрдп рд╕рдВрдХреНрд░рдордг рдФрд░ рдкреНрд░рднрд╛рд╡) рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВред рдпрджрд┐ рд╣рд╛рдмреНрд░реЛрд╡реНрд╕реНрдХ рдирд╛рдЧрд░рд┐рдХ рдЗрди рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

Cocos2d рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ

Source: https://habr.com/ru/post/In120438/


All Articles