рдПрд▓рди рдЯреИрди рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдорд╣рд╛рди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ
, рд╣рдо Cocos2D рдФрд░ Box2D рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд╛рдлрдмреНрд░рд┐рдХ
рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ
рдлреНрд░реВрдЯ рдирд┐рдВрдЬрд╛ рдХреЗ рд╕рдорд╛рди рдЕрдкрдирд╛ рдЧреЗрдо рдмрдирд╛рдПрдВрдЧреЗред
рдРрд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЦреЗрд▓реЛрдВ рдореЗрдВ, рдЬрдм рдХреЛрдИ рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд┐рд╕реА рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЛ рдХрд╛рдЯрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рджреЛ рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдо рдХрд┐рд╕ рд╕реНрдерд╛рди рдкрд░ рд╡рд╕реНрддреБ рдХрд╛рдЯрддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╣рдо рдПрдХ рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдлрд▓реЛрдВ рдХреЛ рдХрдИ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдХрд╛рдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рдЙрдВрдЧрд▓реА рдХрд╣рд╛рдВ рдЧрдИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛!
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рдЧрд╛рдЗрдб рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП Cocos2D рдФрд░ Box2D рдХреЗ рдЙрдиреНрдирдд рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдЕрднреА-рдЕрднреА iOS рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо
Cocos2D рдФрд░
Box2D рдХреЗ
рдкрд░рд┐рдЪрдп рдкрд░ рдЕрдкрдиреА рдЖрдБрдЦреЛрдВ рдХреЗ рдКрдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдпрд╣рд╛рдБ рдХреБрдЫ рд╢рд╛рдирджрд╛рд░ рдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ!
рд╕рднреА рдЗрдЪреНрдЫреБрдХ рдХреГрдкрдпрд╛ рдПрдХ рдХрдЯ рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗрдВ! рдЪреЗрддрд╛рд╡рдиреА: рдЕрдиреБрд╡рд╛рджрд┐рдд рдкрд╛рда рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ!
рдиреЛрдЯ: рдлрд▓ рдкрд░ рдХрдЯ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдЕрдкрдиреА рдЙрдВрдЧрд▓реА рд░рдЦрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдлрд▓реЛрдВ рдХреЛ рдХрдИ рднрд╛рдЧреЛрдВ рдореЗрдВ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдХреБрдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ!
рдЖрдЬ рд╣рдо рдПрдХ рд╢рд╛рдВрдд рдХрд╛рдЯрдиреЗ рдкреНрд░рднрд╛рд╡, рдПрдХ рдХрдг рдкреНрд░рдгрд╛рд▓реА, рдЦреЗрд▓ рддрд░реНрдХ рдФрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдлрд▓реЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╛рдЬрд╝ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рддреАрди рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ:
- рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд╛рд░ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдмрдирд╛рд╡рдЯ рдмрд╣реБрднреБрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
- рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдмрдирд╛рд╡рдЯ рдХреЛ рдХреИрд╕реЗ рдХрд╛рдЯреЗрдВ рдФрд░ рдЕрд▓рдЧ рдХрд░реЗрдВред
- рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдЧреЗрдордкреНрд▓реЗ рдХреЛ рд╕реНрд╡рдпрдВ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдФрд░ рдЧреЗрдо рдореЗрдВ рдордЬрд╝реЗрджрд╛рд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓реЗрдВрдЧреЗред
рдкрд░реНрдпрд╛рдкреНрдд рд╢рдмреНрдж - рдЪрд▓реЛ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ!
рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░реЗрдВ: рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ
рд╣рдо Cocos2D 2.X рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рддреЛ
рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред рдЖрдк 2.X рдХреЗ рдмрдЬрд╛рдп Cocos2D 1.X рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрд╕реНрдХрд░рдг 1.X рдХреЗ рд╕рд╛рде, рдЖрдк Cocos2D 2.X рдХреЗ рд▓рд┐рдП PRKit рдФрд░ CCBlade рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдЪрд░рдг рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рд╡рд░реНрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВред
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ:
cd ~/Downloads/cocos2d-iphone-2.0-beta ./install-templates.sh -f -u
Xcode рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ Box2D рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ iOS \ cocos2d v2.x \ cocos2d iOS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ CutCutCut рдирд╛рдо рджреЗрдВред
рдЕрдм рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП:

рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
HelloWorldLayer.h рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рд╣рдЯрд╛рдПрдВ:
CCTexture2D *spriteTexture_;
HelloWorldLayer.mm рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:
рдореБрдЭреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рд╣рдордиреЗ HelloWorldLayer рд╕реЗ рд╕рднреА PhysicsSprite рд╕рдВрджрд░реНрдн рд╣рдЯрд╛ рджрд┐рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛ рд╣реИред рдмрд╛рдж рдореЗрдВ, рд╣рдореЗрдВ рдХреБрдЫ рд╣рдж рддрдХ PhysicsSprite.mm рд╕реЗ рдПрдХ рд╡рд┐рдзрд┐ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реИред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб + рдЖрд░ рджрдмрд╛рдПрдВ, рдФрд░ рдЖрдкрдХреЛ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд╣рд░реЗ рд░рдВрдЧ рдХреА рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд▓реА рд╕реНрдХреНрд░реАрди рджреЗрдЦрдиреА рдЪрд╛рд╣рд┐рдП:

рд╢реЗрд╖ рдХреЛрдб рдбреАрдмрдЧрд┐рдВрдЧ рдореЛрдб рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ: рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рднреА Box2D рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ рдлреНрд░реЗрдо рдЦреАрдВрдЪрддрд╛ рд╣реИред рд╕реНрдХреНрд░реАрди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдпрд╣ рд╣рд░реА рд░реЗрдЦрд╛ рджреЗрдЦреЗрдВ? рдпреЗ initPhysics boilerplate рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рджреАрд╡рд╛рд░реЗрдВ рд╣реИрдВред
рд╢реЗрд╖ рдХреЛрдб рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВред рд╣рдо Box2D рджреБрдирд┐рдпрд╛ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рджреАрд╡рд╛рд░реЗрдВ (рдЧреНрд░реАрди рд▓рд╛рдЗрди) рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдбреАрдмрдЧ рдореЛрдб рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЖрджрд┐ред рдпрд╣ "рд▓рдЧрднрдЧ рдЦрд╛рд▓реА" рдкрд░рд┐рдпреЛрдЬрдирд╛ Box2D рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рд╕рдВрд╕рд╛рдзрди рдкреИрдХ
рдЕрдЧрд▓рд╛, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП
рд╕рдВрд╕рд╛рдзрди рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░реЗрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрднреА рддрдХ рдХреБрдЫ рднреА рди рдЬреЛрдбрд╝реЗрдВ; рдХреБрдЫ рдлрд╛рдЗрд▓реЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбреИрдбреА рдХреЛ рд╕рдВрднрд╛рд▓ рдХрд░ рд░рдЦреЗрдВ - рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╛рдЗрд▓ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред
рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдкреГрд╖реНрдарднреВрдорд┐ karitnka; рд╡рд┐рдХреА рджреНрд╡рд╛рд░рд╛ рдЪрд┐рддреНрд░рд┐рдд рдлрд▓; рдЪрд┐рддреНрд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреБрдЫ рдЕрдиреНрдп рдЪрд┐рддреНрд░
- рдзреНрд╡рдирд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ gomix.it рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдкреГрд╖реНрдарднреВрдорд┐ рд╕рдВрдЧреАрдд
- рдзреНрд╡рдирд┐ рдкреНрд░рднрд╛рд╡ bfxr рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдзреНрд╡рдирд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝реНрд░реАрд╕рд╛рдЙрдВрдб рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛
- рдХрдг рдХрдг рдореЗрдВ рдХрдг рдбрд┐рдЬрд╛рдЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЧрдИ рд╕рднреА рдХрдг рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдВ
- рдлрд┐рдЬрд┐рдХреНрд╕рдПрдбрд┐рдЯрд░ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ PLIST рдлрд╛рдЗрд▓ рдЬрд┐рд╕рдореЗрдВ Misc рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдлреНрд░реВрдЯ рдФрд░ рдмреЙрдореНрдм рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЯрд┐рдХрд▓ рд╣реЛрддреЗ рд╣реИрдВ
- рдХреНрд▓рд╛рд╕ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдлрд▓реЛрдВ рдФрд░ рдмрдо рдХреА рдХрдХреНрд╖рд╛рдПрдВ
- PRKit рдФрд░ CCBlade рдХреЗ рд╡рд░реНрдЬрди рдлреЛрд▓реНрдбрд░ рдлреЛрд▓реНрдбрд░ рдореЗрдВ
PRKit рдХреЗ рд╕рд╛рде рдмрдирд╛рд╡рдЯ рдмрд╣реБрднреБрдЬ рдмрдирд╛рдПрдВ
рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдХрдИ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдореЗрдВ рдХрдЯреМрддреА рдХрд░рдирд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ CCSprite рдореЗрдВ рдПрдХ рдмрдирд╛рд╡рдЯ рдФрд░ рдПрдХ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрд┐рддреНрд░ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдЬрд░реВрд░реА рд╣реИ рдХрд┐ рд╣рдо рд╕реНрдкреНрд░рд┐рдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдХрд╛рд░ рдХреЛ рдЬрд╛рдиреЗрдВ, рдЬреЛ рдХрд┐ рдХрдЯрд╛ рд╣реБрдЖ, рдХрдЯрд╛ рд╣реБрдЖ рдФрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдореЗрдВ рдмрдирд╛рд╡рдЯ рдмрд╣реБрднреБрдЬ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ:
- рдмрд╣реБрднреБрдЬ / рдЖрдХреГрддрд┐ рдФрд░ рдЪрд┐рддреНрд░ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдмрдирд╛рдПрдВ (рдмрдирд╛рд╡рдЯ рдорд╛рдирдЪрд┐рддреНрд░рдг)
- рдЪрд┐рддреНрд░ рдХреЗ рдХреЗрд╡рд▓ рдЙрди рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдБ рдЬреЛ рдмрд╣реБрднреБрдЬ рдХреА рд╕реАрдорд╛рдУрдВ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ (рдмрдирд╛рд╡рдЯ рднрд░рдирд╛)
рди рддреЛ Cocos2D рдФрд░ рди рд╣реА Box2D рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, OpenGL рдореЗрдВ рдЕрдкрдирд╛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред
рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ?
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╕рднреА рдЬрдЯрд┐рд▓ рдЧрдгрдирд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдЪреНрдЫреЗ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛
Precognitive Research рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд Cocos2D рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдИ, рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИ, рдФрд░ рдЗрд╕реЗ PRKit рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмрдирд╛рд╡рдЯ рдмрд╣реБрднреБрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
PRKit рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ , рдЗрд╕реЗ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ рдФрд░ PRKit рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ "рдЧрдВрддрд╡реНрдп рд╕рдореВрд╣ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЖрдЗрдЯрдо рдХреЙрдкреА рдХрд░реЗрдВ" рдФрд░ "рдХрд┐рд╕реА рднреА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдореВрд╣ рдмрдирд╛рдПрдВ" рдмреЙрдХреНрд╕ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ PRKit рдХреЛ Precognitive Research рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╕рдВрд╕рд╛рдзрди рд╕реЗрдЯ рдореЗрдВ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП PRKit рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

рдЦреЗрд▓ рдХреЛ рдЪрд▓рд╛рдПрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реЗрдВрдЧреА:

рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ PRKit рдХреЛ Cocos2D 1.X рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ OpenGL ES 1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╣рдо OpenGL ES 2.0 рдХреЗ рд╕рд╛рде Cocos2D 2.X рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИрдВред
рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PRFilledPolygon.m рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ:
рдореБрдЭреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдЪрд▓рд┐рдП рд╕реНрдЯреЗрдк рдмрд╛рдп рд╕реНрдЯреЗрдк рдмрджрд▓рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, Cocos2D рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ CCNode рдореЗрдВ рдПрдХ OpenGL ES 2.0 рд╢реЗрдбрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред PRFilledPolygon рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд "рд╕реНрдерд┐рддрд┐ / рдмрдирд╛рд╡рдЯ" рд╢реЗрдбрд░ рдХреЛ рдкреЗрдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо init рд╡рд┐рдзрд┐ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдмрд╣реБрднреБрдЬ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдмрдирд╛рд╡рдЯ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдЖрдХрд╛рд░: рдЪреВрдВрдХрд┐ рдпрд╣ рд╡рд░реНрдЧ рдмрдирд╛рд╡рдЯ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЕрдкрдиреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд░реЗрдЯрд┐рдирд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо CC_CONTENT_SCALE_FACTOR рджреНрд╡рд╛рд░рд╛ рдмрд╕ рдмрдирд╛рд╡рдЯ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдирд┐рдпрдорд┐рдд рдФрд░ рд░реЗрдЯрд┐рдирд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Cocos2D рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рдЧреБрдгрд╛рдВрдХред
- рд╡рд┐рд╕реНрддреГрдд рдХрд░реЗрдВ Y: рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, PRFIlledPolygon рдмрдирд╛рд╡рдЯ рдХреЛ рдЙрд▓реНрдЯрд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрднреА y рдорд╛рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдВрдд рдореЗрдВ, рд╣рдордиреЗ OpenGL ES 2.0 рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рд╣рдордиреЗ Cocos2D 2.X рдХреЗ рд▓рд┐рдП CCSprite рдореЗрдВ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рднреА рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ:
- рд╣рдо рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕реНрдкреНрд░рд╛рдЗрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CC_NODE_DRAW_SETUP () рдХреЗ рд╕рд╛рде рдЖрдХрд╛рд░ рджреЗрдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
- GlDisableClientState () рдФрд░ glEnableClientState () рдХреА рдХреЙрд▓ рдХреЛ рдкрджрд╛рд╡рдирдд рдФрд░ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- GlVertexPointer () рдФрд░ glTexCoordPointer () рджреЛрдиреЛрдВ рдХреЛ glVertexAttribPointer () рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рд╢реАрд░реНрд╖ рд╕реНрдерд╛рди рдпрд╛ рдмрдирд╛рд╡рдЯ рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИред
- GlTexEnvf () рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд, рдЬреЛ рддрд╕реНрд╡реАрд░ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдпрджрд┐ рдмрд╣реБрднреБрдЬ рдмрдирд╛рд╡рдЯ рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЙрд▓ рдХреЛ glTexParameteri () рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк
iPhone рдХреЗ рд▓рд┐рдП OpenGL ES 2.0 рдкрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
Cocos2i 2 рдореЗрдВ рдХрд╕реНрдЯрдо рд╢реЗрдбреНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд╣рдо рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ Cocos2D 2.X:] рдореЗрдВ рд╣реА рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЪрд▓рд╛рдПрдВ рдФрд░ PRKit рддреНрд░реБрдЯрд┐рдпрд╛рдБ рджреВрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП!
PRKit рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рд╣рдо рдХреНрд▓рд╛рд╕ PRFilledPolygon рдХреЗ PolygonSprite рдХрд╛ рдПрдХ рдЙрдкрд╡рд░реНрдЧ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реЗ рдлрд▓реЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред
PolygonSprite рдХреЛ PRFilledPolygon рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмреЙрдХреНрд╕ 2 рдбреА рдмреЙрдбреА рдХреЛ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░, рдХреБрдЫ рдЕрдиреНрдп рдЪрд░ рдФрд░ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪрд▓реЛ рдХрд░рддреЗ рд╣реИрдВред рдХрдорд╛рдВрдб + рдПрди рджрдмрд╛рдПрдВ рдФрд░ iOS \ cocos2d v2.x \ CCNode рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВред рдЗрд╕реЗ PRFilledPolygon рдХрд╛ рдЙрдкрд╡рд░реНрдЧ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ
PolygonSprite.m рдирд╛рдо
рджреЗрдВ ред
PolygonSprite.h рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:
рдореБрдЭреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдпрд╣ рдХреЛрдб рдЖрдзрд╛рд░ рдЪрд░ рдФрд░ рддрд░реАрдХреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдмрд╣реБрднреБрдЬ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- рд╢рд░реАрд░: рдпрд╣ рдПрдХ рдмреЙрдХреНрд╕ 2 рдбреА рд╢рд░реАрд░ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕реНрдкреНрд░рд╛рдЗрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рднреМрддрд┐рдХреА рдХреЗ рдЕрдиреБрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
- рдореВрд▓: рдкреВрд░реЗ рдФрд░ рдХрдЯреЗ рд╣реБрдП рджреЛрдиреЛрдВ рдЯреБрдХрдбрд╝реЗ рдмрд╣реБрднреБрдЬ рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдПрдВ рд╣реЛрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЙрдирдореЗрдВ рдЕрдВрддрд░ рдХрд░реЗрдВред рдпрджрд┐ рдорд╛рди YES рд╣реИ, рддреЛ рдЯреБрдХрдбрд╝рд╛ рдкреВрд░рд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдкреВрд░реЗ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИред
- рдХреЗрдВрджреНрд░рдХ: рдмрд╣реБрднреБрдЬ рдХрд╛ рдХреЗрдВрджреНрд░ рд╣рдореЗрд╢рд╛ рдЪрд┐рддреНрд░ рдХрд╛ рдХреЗрдВрджреНрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
- рдЧреБрдг: рд╣рдо рдЕрдкрдиреЗ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
- init / spriteWith *: рд╣рдорд╛рд░реА рдореБрдЦреНрдп рдЖрд░рдВрднреАрдХрд░рдг рд╡рд┐рдзрд┐рдпрд╛рдБред
- рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпрд╛рдБ: рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдБ Box2D рдирд┐рдХрд╛рдп рдмрдирд╛рддреА рд╣реИрдВ рдФрд░ рдЙрди рддрдерд╛ рдЙрдирдХреЗ рдЪрд░реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред
- PTM_RATIO: рд╣рдо рдкрд┐рдХреНрд╕реЗрд▓ рдФрд░ рдореАрдЯрд░ рдХреЛ рдкрд░рд╕реНрдкрд░ рд╕рдВрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВред Box2D рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдмрдЬрд╛рдп рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
PolygonSprite.m рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░
PolygonSprite.mm рдХрд░реЗрдВ ред рд╕рднреА рд╡рд░реНрдЧ рдЬрд┐рд╕рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА (рдХреЛрдХреЛрд╕ 2 рдбреА) рдФрд░ рд╕реА ++ (рдмреЙрдХреНрд╕ 2 рдбреА) рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЙрдирдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ ".рдПрдордПрдо" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдЧрд▓рд╛,
PolygonSprite.mm рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:
рдореБрдЭреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ Cocos2D рдХреА рддрд░рд╣ рд╣реА, рд╕рднреА spriteWith * рддрд░реАрдХреЗ initWith * рдореЗрдердб рдХрдиреНрд╡рд░реНрдЯрд░ рдХреЗ рдСрдЯреЛрд░реЗрд▓рд┐рдЬ рд╣реИрдВред рдЕрдм рддрдХ, initWithWorld рдкрджреНрдзрддрд┐ рдХрд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рд╣рдо рдЗрд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
InitWithFile рдФрд░ initWithTexture рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдХрдИ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВред рдлрд▓ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдореНрди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреА рд╣реИ:

- initWithWorld: рдпрд╣ рд╡рд┐рдзрд┐ рдЕрднреА рддрдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓реМрдЯрд╛рддреА рд╣реИред рд╣рдо рдмрд╛рдж рдореЗрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
- initWithFile: рдпрд╣ рд╡рд┐рдзрд┐ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдмрдирд╛рд╡рдЯ рдЬреЛрдбрд╝рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ initWithTexture рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╛рд╕ рдХрд░рддреА рд╣реИред
- initWithTexture: рд╣рдорд╛рд░реА рдореБрдЦреНрдп рд╡рд┐рдзрд┐ред PRFilledPolygon рдмрд╣реБрднреБрдЬ рдХреА рдмрдирд╛рд╡рдЯ рдФрд░ рдХреЛрдиреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рд╡рдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рд╣рдо рд╢реАрд░реНрд╖ рд░реЗрдЦрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ: рд╣рдо рдЙрдиреНрд╣реЗрдВ рдПрдХ рдмреЙрдХреНрд╕ 2 рдбреА рд╢рд░реАрд░ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВрдЧреЗред PRFillePolygon рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЪрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдереЗред
- initWithPoints: рдпрд╣ рддрд░реАрдХрд╛ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддрд╛ рд╣реИ рд╡рд╣ PRKit рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдЕрдм PRKit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдЕрднреА рднреА
PolygonSprite.mm рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рдЬреЛрдбрд╝реЗрдВ:
рдореБрдЭреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ - (void)setPosition:(CGPoint)position { [super setPosition:position]; _body->SetTransform(b2Vec2(position.x/PTM_RATIO,position.y/PTM_RATIO), _body->GetAngle()); } - (b2Body*)createBodyForWorld:(b2World *)world position:(b2Vec2)position rotation:(float)rotation vertices:(b2Vec2*)vertices vertexCount:(int32)count density:(float)density friction:(float)friction restitution:(float)restitution { b2BodyDef bodyDef; bodyDef.type = b2_dynamicBody; bodyDef.position = position; bodyDef.angle = rotation; b2Body *body = world->CreateBody(&bodyDef); b2FixtureDef fixtureDef; fixtureDef.density = density; fixtureDef.friction = friction; fixtureDef.restitution = restitution; fixtureDef.filter.categoryBits = 0; fixtureDef.filter.maskBits = 0; b2PolygonShape shape; shape.Set(vertices, count); fixtureDef.shape = &shape; body->CreateFixture(&fixtureDef); return body; } - (void)activateCollisions { b2Fixture *fixture = _body->GetFixtureList(); b2Filter filter = fixture->GetFilterData(); filter.categoryBits = 0x0001; filter.maskBits = 0x0001; fixture->SetFilterData(filter); } - (void)deactivateCollisions { b2Fixture *fixture = _body->GetFixtureList(); b2Filter filter = fixture->GetFilterData(); filter.categoryBits = 0; filter.maskBits = 0; fixture->SetFilterData(filter); }
рдЗрд╕ рдХреЛрдб рдореЗрдВ, рд╣рдо рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ setPosition рд╡рд┐рдзрд┐ рдХреЛ CCNode рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬрдм рд╣рдо рд╕реНрдкреНрд░рд╛рдЗрдЯ рдкреЛрдЬрд┐рд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рддреЛ Box2D рдХрд╛ рдмреЙрдбреА рднреА рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПред
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рдмреЙрдХреНрд╕ 2 рдбреА рдмреЙрдбреА рдмрдирд╛рдиреЗ рдФрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рд╢рд░реАрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕рдХреА рд╡рд╕реНрддреБ, рдЖрдХреГрддрд┐ рдФрд░ рдмрдирд╛рд╡рдЯ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рддрдХ, рд╣рдо рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рдШреЛрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреЗрд╡рд▓ рдЙрди рдЪреАрдЬрд╝реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рд╢реНрд░реЗрдгреАрдмрд┐рдЯреНрд╕ рдФрд░ рдорд╛рд╕реНрдХрдмрд┐рдЯреНрд╕ рд╣реИрдВред рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рдЯрдХрд░рд╛рд╡реЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрджрд┐ рд╢реНрд░реЗрдгреА рдФрд░ рдореБрдЦреМрдЯрд╛ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рдЯрдХрд░рд╛рд╡ рд╣реЛрдЧрд╛ред рд╣рдо рдЗрди рдорд╛рдиреЛрдВ рдХреЛ 0 рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЖрд░рдВрдн рд╣реЛрддреЗ рд╣реА рд╣рдореЗрдВ рдЯрдХрд░рд╛рд╡реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рджреЛ рддрд░реАрдХреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╢реНрд░реЗрдгреАрдмрд┐рдЯреНрд╕ рдФрд░ рдорд╛рд╕реНрдХрдмрд┐рдЯреНрд╕ рдХреЛ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╣рдо рдЬрдм рдЪрд╛рд╣реЗрдВ рддрдм рдЕрдкрдиреЗ рдмрд╣реБрднреБрдЬ рдХреЗ рдЯрдХрд░рд╛рд╡реЛрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рд╕рдХреЗрдВред
PolygonSprite.mm рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд▓рд╛рдпрдХ рдПрдХ рдФрд░ рдЪреАрдЬ рд╣реИ:
рдореБрдЭреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ -(CGAffineTransform) nodeToParentTransform { b2Vec2 pos = _body->GetPosition(); float x = pos.x * PTM_RATIO; float y = pos.y * PTM_RATIO; if ( !isRelativeAnchorPoint_ ) { x += anchorPointInPoints_.x; y += anchorPointInPoints_.y; }
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдореИрдВрдиреЗ PhysicsSprite рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХреИрд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ? рдЦреИрд░, рдпрд╣рд╛рдБ рдпрд╣ рд╣реИред рдпрд╣рд╛рдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдЬрд╛рдБрдЪ рдпрд╣ рд╣реИ рдХрд┐ рдмреЙрдХреНрд╕ 2 рдбреА рдлреЙрд░реНрдо рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рди рд╣реИред
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк PhysicsSprite.h рдФрд░ PhysicsSprite.mm рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реВрдиреНрдп рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЪрд▓рд╛рдПрдВ, рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдордиреЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП PolygonSprite рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред
рдлрд▓ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ
рд╣рдорд╛рд░реЗ рдлрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЙрди рдирд┐рдпрдореЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдЪрд┐рддреНрд░ рдФрд░ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗред рдЪреВрдВрдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдмрдирд╛рд╡рдЯ рдХреЛ рдмрд╣реБрднреБрдЬ рдЖрдХреГрддрд┐рдпреЛрдВ рдореЗрдВ рдЯреНрд░рд┐рдо рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдмреЙрдХреНрд╕ 2 рдбреА рдкреЙрд▓реАрдЧреЙрди рдореЗрдВ рдХреБрдЫ рд╕реАрдорд╛рдПрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдзреНрдпрд╛рди рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рджреЛ рдмрд╛рддреЗрдВ рд╣реИрдВ:
- рдмрд╣реБрднреБрдЬ рдЙрддреНрддрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрдВрддрд░рд┐рдХ рдХреЛрдг 180 рдбрд┐рдЧреНрд░реА рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдмрд╣реБрднреБрдЬреЛрдВ рдореЗрдВ 8 рд╕реЗ рдЕрдзрд┐рдХ рдХреЛрдиреЗ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо рдЗрди рд╕реАрдорд╛рдУрдВ рд╕реЗ рдкрд░реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдорд╛рд░реЗ рд╢рд░реАрд░ рдореЗрдВ рдХрдИ рд░реВрдк рд╣реИрдВред Box2D рдЕрд╡рддрд▓ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╣рдо рддреНрд░рд┐рдХреЛрдгреАрдп рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдИ рддреНрд░рд┐рднреБрдЬреЛрдВ рд╕реЗ рдЕрд╡рддрд▓ рдЖрдХреГрддрд┐рдпрд╛рдБ рдмрдирд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред
рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗ: рдПрдХ рд╢рд░реАрд░ - рдПрдХ рд░реВрдкред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ: PhysicsEditor, рдПрдХ рдЙрдкрдХрд░рдг рдЬрд┐рд╕реЗ рд╣рдо рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдЕрд╡рддрд▓ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рддреНрд░рд┐рдХреЛрдгреАрдп рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рдЕрднреА рднреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ рдЙрддреНрддрд▓ рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдПрдХ рдирдЬрд░ рдЗрди рджреЛ рдлрд▓реЛрдВ рдкрд░:

рдХреЗрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╢реБрд░реВ рдореЗрдВ рдЕрд╡рддрд▓ рд╣реИред рддрд░рдмреВрдЬ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рдорд╣рд╛рди рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрддреНрддрд▓ рд╣реИ рдФрд░ рдмрд╣реБрдд рдмрд╛рд░реАрдХреА рд╕реЗ рдмрд╣реБрднреБрдЬ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред
рдпрджрд┐ рд╣рдо рджреЛрдиреЛрдВ рдлрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдмреЙрдХреНрд╕ 2 рдбреА рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБрднреБрдЬ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдВрдд рдореЗрдВ рдЗрд╕ рдкрд░ рдЖрдПрдВрдЧреЗ:

рддрд░рдмреВрдЬ рдмрд╣реБрднреБрдЬ рддрд╕реНрд╡реАрд░ рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рд╣реИрдВ, рдЬрдмрдХрд┐ рдПрдХ рдХреЗрд▓рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдирд┐рдХрд╛рд╕реА рд╣реИред
Box2D рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ, рдФрд░ рдХреЗрд▓реЗ рдХреА рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡, рдЗрд╕рдХреА рдХрдЯрд╛рдИ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдХреЗрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдЕрднреА рддрдХ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред
рдкрд╣рд▓рд╛ рдлрд▓ рдмрдирд╛рдПрдВ
рдпрд╣ рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рдлрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ: рддрд░рдмреВрдЬ (рдХрдо рд╕реЗ рдХрдо рдЗрд╕рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛)ред
PolygonSprite рд╡рд░реНрдЧ рдХреЗ рд╣рдорд╛рд░реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реБрдП, рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ initWithTexture Box2D рдХреА рдмреЙрдбреА рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕рд╕реЗ рдПрдХ рдХрджрдо рдкрд╣рд▓реЗ, initWithFile рдореЗрдВ, рдЕрднреА рддрдХ рдХреЛрдИ рдмреЙрдбреА рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлрд▓ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдПрдХ рд╢рд░реАрд░ рдмрдирд╛рдиреЗ рдФрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ initWithWorld рдХрд╛ рдкрд╣рд▓рд╛ рдкрд╣рд▓рд╛ рдХрджрдо рд╣реЛрдЧрд╛, рдЬреЛ рд╢рд░реАрд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
Box2D рдмреЙрдбреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрд╕ рдмрд╣реБрднреБрдЬ рдЖрдХрд╛рд░ рдХреЗ рдХреЛрдиреЗ рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╣рдо PhysicsEditor рдирд╛рдордХ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЙрдкрдХрд░рдг рдмрд╕ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рд╕реЗ рднрд░рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдмрд╣реБрднреБрдЬ рдХреЗ рдХреЛрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ
PhysicsEditor рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ , рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВред рдЖрдкрдХреЛ рддреАрди рдкреИрдирд▓реЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рдЦрд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
PhysicsEditor рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред рдмрд╛рдИрдВ рдУрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА рдЪрд┐рддреНрд░ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдмреАрдЪ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдЪрд┐рддреНрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрднреБрдЬ рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рджрд╛рдИрдВ рдУрд░ рд╣рдо рд╢рд░реАрд░ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

рддрд░рдмреВрдЬ рдХреЛ рдЦреАрдВрдЪреЗрдВред рд╕рдВрд╕рд╛рдзрди рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдмрд╛рдПрдБ рдлрд▓рдХ рдкрд░ рдЬрд╛рдПрдБред рдЕрдм рдЖрдкрдХреЛ рдХреЗрдВрджреНрд░ рдкреИрдирд▓ рдореЗрдВ рддрд░рдмреВрдЬ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рдВрдбреЛ рдХреЗ рдиреАрдЪреЗ рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЛ рдЦреАрдВрдЪрдХрд░ рдЫрд╡рд┐ рдХреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрддрд░ рддрдХ рдмрдврд╝рд╛рдПрдВред рдмрд╣реБрднреБрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреИрдирд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрд╣реБрднреБрдЬ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдмрд╣реБрднреБрдЬ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рд╡рд░реНрдЯреЗрдХреНрд╕ рдЬреЛрдбрд╝реЗрдВ" рдЪреБрдиреЗрдВред рджреЛрд╣рд░рд╛рдПрдБ рдЬрдм рддрдХ рдЖрдк 5-8 рдХреЛрдиреЗ рд╣реИрдВред рддрд░рдмреВрдЬ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЪрдХреНрдХрд░ рд▓рдЧрд╛рдПрдВ рддрд╛рдХрд┐:
- рд▓реИрдВрдбрдлрд┐рд▓ рдЙрддреНрддрд▓ рдерд╛ред
- рддрд░рдмреВрдЬ рдХреЗ рд╕рднреА рдкрд┐рдХреНрд╕рд▓ рдмрд╣реБрднреБрдЬ рдХреЗ рдЕрдВрджрд░ рдереЗред
рдиреЛрдЯ: рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ PhysicsEditor рдореЗрдВ рдЬрд╛рджреВ рдХреА рдЫрдбрд╝реА рдЙрдкрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИред рдмрд╕ рдХреЛрдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ 5-8 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЫрд╡рд┐рдпрд╛рдБ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╕рднреА рдлрд▓реЛрдВ рдФрд░ рдмрдо рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрднреБрдЬ рдЬреЛрдбрд╝реЗрдВред
рдЖрдкрдХреЛ рдирд┐рдореНрди рдЪрд┐рддреНрд░ рдХреЗ рд░реВрдк рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗ:
- banana.png
- bomb.png
- grapes.png
- pineapple.png
- strawberry.png
- watermelon.png
рдЬрдм рдЖрдк рдКрдкрд░реА рджрд╛рд╣рд┐рдиреЗ рдХреЛрдиреЗ рдореЗрдВ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ "Box2D рдЬреЗрдиреЗрд░рд┐рдХ (PLIST)" рдореЗрдВ рдирд┐рд░реНрдпрд╛рддрдХ рдХреЛ рдорд╛рди рдмрджрд▓реЗрдВ, рдФрд░ рдЖрдкрдХреЛ рдирд┐рдореНрди рдЬреИрд╕рд╛ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

рд╢реАрд░реНрд╖ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде PLIST рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ рдпрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд▓ред рд╣рдорд╛рд░реЗ рд╕рдВрд╕рд╛рдзрди рдкреИрдХ рдХреЗ рд╡рд┐рд╡рд┐рдз рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╣реИред
рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рди рдЬреЛрдбрд╝реЗрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕реЗ Xcode рдореЗрдВ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦреЗрдВред
рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рдХрд╛рдпреЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП "рдирд┐рдХрд╛рдпреЛрдВ" рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рддреНрд░рд┐рдХреЛрдг рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЖрдк рдЪрд┐рддреНрд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рди рджрд┐рдП рд╣реИрдВред рддрд░рдмреВрдЬ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рддрд░рдмреВрдЬ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:

рддрд░рдмреВрдЬ / рдлрд┐рдХреНрд╕реНрдЪрд░ / рдЖрдЗрдЯрдо 0 / рдмрд╣реБрднреБрдЬ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ рдЖрдЗрдЯрдо 0 рдХрд╛ рдПрдХ рдФрд░ рдореВрд▓реНрдп рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдПрдХ рд╕рд░рдгреА рд╣реИред рдпрд╣ рд╕рд░рдгреА рд╣рдорд╛рд░рд╛ рд░реВрдк рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╕рд░рдгреА рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдЖрдк рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рд░рдгреА рджреЗрдЦрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЖрдЗрдЯрдо 0, рдЖрдЗрдЯрдо 1), рддреЛ рдЖрдкрдиреЗ 8 рд╕реЗ рдЕрдзрд┐рдХ рдХреЛрдиреЗ рдмрдирд╛рдП рд╣реИрдВ рдпрд╛ рдПрдХ рдЕрд╡рддрд▓ рдЖрдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ PhysicsEditor рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВ рдФрд░ рдЖрдХреГрддрд┐ рдХреЛ рдареАрдХ рдХрд░реЗрдВред
рдЖрдЧреЗ, рд╕рд╛рдордЧреНрд░реА рдХреА рдЕрдВрддрд┐рдо рд╕реВрдЪреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЗрдЯрдо 0 рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВред
рдпреЗ рдкреНрд░рд╛рд░реВрдк {x, y} рдореЗрдВ рд╣рдорд╛рд░реЗ рдХреЛрдиреЗ рдФрд░ рдЙрдирдХреЗ рдорд╛рди рд╣реИрдВредрдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрднреБрдЬ рдХреЗ рд▓рдВрдмрд╡рдд рдорд╛рди рд╣реИрдВ, рддреЛ рд╣рдо рддрд░рдмреВрдЬ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВредXcode рдореЗрдВ, iOS \ cocos2d v2.x \ CCNode рдХреНрд▓рд╛рд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВред рдЗрд╕реЗ Poly PolySprite рдХреЛ рдЙрдкрд╡рд░реНрдЧрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рддрд░рдмреВрдЬ рдХрд╛ рдирд╛рдо рджреЗрдВред рддрд░рдмреВрдЬ рдЦреЛрд▓реЗрдВред рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:
рддрд░рдмреВрдЬ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рддрд░рдмреВрдЬ рд░рдЦ рджреЗрдВред рдорд┐рдореА , рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд init рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ:рдореБрдЭреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдЗрд╕ рдХреЛрдб рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдпрд╣ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рд╡рд░реНрдЯрд┐рдХрд▓ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 7)ред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрди рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдпреБрдХреНрдд рд╡рд░реНрдЯрд┐рдХрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдЕрднреА PLIST рдлрд╛рдЗрд▓ рдореЗрдВ рджреЗрдЦрд╛ рдерд╛ред рд╣рдо рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ PolygonSprite рд╕реЗ рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирд┐рдХрд╛рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВредрд╣рдо рдереЛрдбрд╝рд╛ рдШрд░реНрд╖рдг рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдВрддрд╣реАрди рд░реВрдк рд╕реЗ рдФрд░ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рднреМрддрд┐рдХреА рди рдлрд┐рд╕рд▓реЗрдВ рддрд╛рдХрд┐ рдЯрдХрд░рд╛рд╡ рдХреЗ рджреМрд░рд╛рди рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдВрдж рди рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдкреАрдЫреЗ рд╣рдЯрд╛ рджреЗрдВредрдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рд╕реБрдкрд░рдХреНрд▓рд╛рд╕ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЛ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЪрд┐рддреНрд░ рдлрд╝рд╛рдЗрд▓, рдмреЙрдХреНрд╕ 2 рдбреА рдХреЗ рд╢рд░реАрд░ рдФрд░ рд░рд╛рдЬреНрдп - рдкреВрд░реЗ рдлрд▓ рдХрд╛ рдирд╛рдо рджреЗрддреЗ рд╣реИрдВредрд╣рдореЗрдВ рддрд░рдмреВрдЬ рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдВрд╕рд╛рдзрди рдкреИрдХ рд╕реЗ рд╕рднреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИредрд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдиреЗрд╡рд┐рдЧреЗрдЯрд░ рдореЗрдВ, рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "CutCutCut рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВ" рдЪреБрдиреЗрдВред рд╕рдВрд╕рд╛рдзрди рдкреИрдХреЗрдЬ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЫрд╡рд┐рдпрд╛рдБ рдлрд╝реЛрд▓реНрдбрд░ рдЬреЛрдбрд╝реЗрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ "рдЧрдВрддрд╡реНрдп рд╕рдореВрд╣ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЖрдЗрдЯрдо рдХреЙрдкреА рдХрд░реЗрдВ" рдФрд░ "рдХрд┐рд╕реА рднреА рдЬреЛрдбрд╝реЗ рдЧрдП рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рд╕рдореВрд╣ рдмрдирд╛рдПрдВ" рдмреЙрдХреНрд╕ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рд╣реИрдВредрдЗрд╕рдореЗрдВ рдХреЗрд▓рд╛, рдЕрдирд╛рдирд╛рд╕, рд╕реНрдЯреНрд░реЙрдмреЗрд░реА рдФрд░ рдПрдХ рдмрдо рднреА рдорд┐рд▓рд╛рдПрдВредрдЕрдм рддрдХ рд╣рдордиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдлрд▓ рдЬреЛрдбрд╝рд╛ рд╣реИред рд╕рдВрд╕рд╛рдзрди рдкреИрдХреЗрдЬ рдореЗрдВ рдЕрдиреНрдп рдлрд▓реЛрдВ рдХреА рдХрдХреНрд╖рд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд▓рд┐рдЦрддреЗ рд╕рдордп рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕ рдЪрд░рдг рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВредрдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЪрд▓рд╛рдПрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИредрдлрд▓ рдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдЬреЛрдбрд╝реЗрдВред
рдЕрдм рддрдХ, рд╕реНрдХреНрд░реАрди рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рд╣рд░ рд╕реНрд╡рд╛рдж рдФрд░ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдлрд▓ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ! :] HelloWorldLayer.h рдкрд░рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:
HelloWorldLayer.mm рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:рдореБрдЭреЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рд╣рдо рдПрдХ рдХреИрд╢реЗ рдРрд░реЗ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╕рднреА рдлрд▓ рдФрд░ рдмрдо рд╣реЛрдВрдЧреЗред рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рддрд░рдмреВрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╣рдо activeteCollisions рдХрд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рддрд░рдмреВрдЬ рджреАрд╡рд╛рд░реЛрдВ рд╕реЗ рди рдЧреБрдЬрд░реЗрдВредрдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЪрд▓рд╛рдПрдВ, рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рддрд░рдмреВрдЬ рд╕реНрдХреНрд░реАрди рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рдиреАрдЪреЗ рдХреИрд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдХреЗ рдиреАрдЪреЗ рднреВрдорд┐ рдкрд░ рд╣реЛрддрд╛ рд╣реИред
рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рддрд░рдмреВрдЬ рдмрд┐рд▓реНрдХреБрд▓ рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЗрд╕рдХреЗ рдмреЙрдХреНрд╕ 2 рдбреА рдмреЙрдбреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдмреЙрдбреА рдХреА рд╢реБрд░реБрдЖрдд рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рдирд┐рдЪрд▓реЗ рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдкрддрд▓рд╛ рд╕реНрдЯреНрд░реЛрдХ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЛрдб рд╕рдХреНрд╖рдо рд╣реИредрдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?
рдФрд░ рдпрд╣рд╛рдВ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд╕рднреА рдХреЛрдб рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ редрд╣рдордиреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ред рдЕрдм рддрдХ, рд╣рдордиреЗ рддрд░рдмреВрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЧреНрд░рд╛рдЙрдВрдб рдмрдирд╛рдпрд╛ рд╣реИ, рдЬреЛ рдиреАрдЪреЗ рдЧрд┐рд░рддрд╛ рд╣реИредрд▓реЗрдХрд┐рди рдкрд╛рд░рджрд░реНрд╢реА рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдпрддрд╛рдХрд╛рд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдорддреМрд░ рдкрд░ рдмреЙрдХреНрд╕ 2 рдбреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдордиреЗ PRKit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдмрдирд╛рд╡рдЯ рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ рдЬреЛ рдмреЙрдХреНрд╕ 2 рдбреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рдЬрд▓реНрдж рд╣реА рдпрд╣ рд╣рдорд╛рд░реА рдмрд╣реБрдд рдорджрдж рдХрд░реЗрдЧрд╛!рдЕрдм рд╣рдо рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ , рдЬрд╣рд╛рдБ рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдлрд▓реЛрдВ рдХреЛ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдЯреЗрдВ!рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ
рдореИрдВ raywenderlich.com рд╕реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯ рдХрд░рддрд╛ рд░рд╣рддрд╛ рд╣реВрдВ редрдореИрдВ рдЕрддреНрдпрдзрд┐рдХ iOS рдХреЗ рд▓рд┐рдП рд╕рднреА рдЧреЗрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рд╛рдЗрдЯ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ!рдпрджрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧреЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рджрд╛рд╡рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░реВрдВрдЧрд╛редрдкрд╛рдП рдЧрдП рд╕рднреА рдЕрд╢реБрджреНрдзрд┐рдпреЛрдВ рдФрд░ рдЯрд╛рдЗрдкреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдХреГрдкрдпрд╛ рдЗрдмреНрд░рд╛рд╣реАрдо рдпрд╛ рдпрд╣рд╛рдБ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
рдореБрдЭреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА!