Cocos2d-android рдХреА рдХрдерд╛

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


рдпрд╣ рдХреИрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рд╕реЛрдЪрд╛



рдореЗрд░реА рд╡рд┐рдирдореНрд░ рд░рд╛рдп рдореЗрдВ, рдХрд┐рд╕реА рднреА рдЦреЗрд▓ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдирд┐рд░реНрднрд░ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Cocos2dx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЦреЗрд▓ рдХрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЧреНрд░рд╛рдлрд╝рд┐рдХ рднрд╛рдЧ (C ++ рдореЗрдВ) рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕ рднрд╛рд╖рд╛ (Android, рд╕рд┐рдореНрдмрд┐рдпрди, Meego, Bada) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА OS рдкрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ IOS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ )ред рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдУрдПрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рдпрд╛рд╕ рдПрдХ рднрд╛рд╖рд╛ рд╕реЗ рджреВрд╕рд░реА рднрд╛рд╖рд╛ рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЕрдВрддрд░ рдореЗрдВ рдЕрдВрддрд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╕реЗ рдХрдо рд╣реЛрдЧрд╛ред

рдЬреИрд╕рд╛ рдерд╛



рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдерд╛ред рдХреЛрдб рдУрдмреНрдЬ-рд╕реА рдореЗрдВ рдерд╛, рдореБрдЭреЗ рдЗрд╕реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдерд╛ (рдЙрд╕ рд╕рдордп рдореБрдЭреЗ рдЕрднреА рднреА рдХрдо рд╕реЗ рдХрдо рдПрдирдбреАрдХреЗ рдХреА рдЙрдореНрдореАрдж рд╣рдмрд░рд╛рд╕ рд╣рдмреНрд░реЗрд╕рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рдерд╛)ред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░, рдЖрдк Android рдХреЗ рд▓рд┐рдП рджреЛ Cocos2d-iphone рдкреЛрд░реНрдЯ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
  1. Cocos2d-android Hmm, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ред рдЬрдирд╡рд░реА 2010 рд╕реЗ рдирд┐рд░реНрдорд╛рдгред рд╢рд╛рдпрдж рд╕рдм рдХреБрдЫ!
  2. Cocos2d-android-1 рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдкрдиреЗ рдкреЗрдЬ рдкрд░ рджрд╛рд╡рд╛ рдХрд░рддреА рд╣реИ рдХрд┐ рдЕрдиреБрдЪреНрдЫреЗрдж 1 рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реЗрдЦрдХ рдиреЗ рдЦреБрдж рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдХреЛрдб.google.com/p/cocos2d-android рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдХрд╛рдВрдЯрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрд╕рд░реНрдЧ "-1" рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред


рдЦреЗрд▓ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛



рд░реВрдкрд░реЗрдЦрд╛ рдкрд░рддреЛрдВ рдФрд░ рджреГрд╢реНрдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИред рдЬрдм рддрдХ рддрд░реНрдХ рдореЗрдВ рдирд╣реАрдВ: рдПрдХ рджреГрд╢реНрдп рдореЗрдВ рдХрдИ рдкрд░рддреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рдврд╛рдВрдЪреЗ рдкрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣ рд╕рд╡рд╛рд▓ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрднреА рдХреЛрдИ рдЦреЗрд▓ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рд╢рдВрд╕рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдереА рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 3 рдбреА рдореЗрдВ рдЖ рдЧрдИ рдереАред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЪрдпрдирд┐рдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдЦреЗрд▓ рдореЗрдВ рдкрд░рддреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рдерд╛ред рдкрд░рддреЛрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рдмрдВрдзрди рдФрд░ рд╕рдВрдХреНрд░рдордг рдХреЛ рдПрдХ рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреВрд░рд╛ рдЦреЗрд▓ рд╕рд┐рдВрдЧрд▓рдЯрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдЧреЗрдо рдХреА рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕реНрддрд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рд╕реНрддрд░ рдбреЗрдЯрд╛ xml рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд░ рдмрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рд▓реЙрдиреНрдЪ рдкрд░, рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рд╕рдм рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕рдореЗрдВ GLSurfaceView рдХрд╛ рдереЛрдбрд╝рд╛ рд╕рд╛ рджрд░реНрдЬ рджреГрд╢реНрдп рд╣реИ:
public class MainActivity extends Activity { private CCGLSurfaceView mGLSurfaceView; public static float SCREEN_WIDTH = 480; public static float SCREEN_HEIGHT = 320; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); mGLSurfaceView = new CCGLSurfaceView(this); CCDirector director = CCDirector.sharedDirector(); director.attachInView(mGLSurfaceView); director.setDeviceOrientation(CCDirector.kCCDeviceOrientationLandscapeLeft); SCREEN_WIDTH = director.winSize().width; SCREEN_HEIGHT = director.winSize().height; CCDirector.sharedDirector().getActivity().setContentView(mGLSurfaceView); CCDirector.sharedDirector().setDisplayFPS(true); CCDirector.sharedDirector().setAnimationInterval(1.0f / 60); CCScene scene = CCScene.node(); IntroScene intro = new IntroScene(); scene.addChild( intro ); CCDirector.sharedDirector().runWithScene(scene); } @Override public void onPause(){ super.onPause(); CCDirector.sharedDirector().onPause(); } @Override public void onResume() { super.onResume(); CCDirector.sharedDirector().onResume(); } @Override public void onDestroy() { super.onDestroy(); CCDirector.sharedDirector().end(); } @Override public void onBackPressed(){ //       } } 

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

рдлрд╝реНрд░реЗрдо рдкреЛрд░реНрдЯ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЬреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реАрдВ



рдКрдкрд░ рджрд┐рдП рдЧрдП рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдкрд╣рд▓реЗ рдкрд░реЗрд╢рд╛рдиреА рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдмрд╛рдХреА рд╣реИрдВред
рдкрд░рдд рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ, рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдпреЛрдЬрдирд╛ рд╣реИ:
 public class MainScene extends CCLayer { public MainScene(){ // ,    } public static CCScene scene() { CCScene scene = CCScene.node(); //CCLayer layer = MainScene.node(); //BUG in Cocos CCLayer layer = new MainScene(); scene.addChild(layer); return scene; } } 

рдЗрд╕рд▓рд┐рдП, рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдврд╛рдВрдЪреЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдмрдВрдж рд▓рд╛рдЗрди рд╣реИ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рджреГрд╢реНрдп рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рд╕реЗ рдирд╣реАрдВ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИред

рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
рдПрдХ рдХрд╕реНрдЯрдо рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдереА, рдЬреЛ рдХрд┐ рдЦреЗрд▓ рдХреЗ рд╕реНрддрд░ рдХреЗ рд╕рд╛рде рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рд╕реНрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдлреНрд▓рд┐рдк рдХрд░реЗрдЧрд╛ред IOS рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЗрд╕реЗ рд╕рд░рд▓ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдпрд╣ UIScrollView рд╕реЗ рдПрдХ рд╡рд░реНрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреГрд╢реНрдп рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ (GLSurfaceView) рдкрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред GLSurfaceView рдореЗрдВ рдПрдХ AddView () рд╡рд┐рдзрд┐ рд╣реИред рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдореЗрдВ рдРрд╕реА рдХреЛрдИ рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдк рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрдкрдирд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдзреНрд╡рдирд┐ред SoundEngine рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдПрдХ IllegalStateException рд▓рдЧрд╛рддрд╛рд░ рдкреЙрдк рдЕрдк рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рддреНрдп рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣реА рд╕рдм рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд╣реАрдВ, рдпрд╣ рдкреАрдкреАрд╕реА рд╣реИ! рдЕрдкрд╡рд╛рдж рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рдВ, рдЦреЗрд▓ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреНрдпрд╛ рд╣реИ, рдЖрдк рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдкрд░рдд рдореЗрдВ рдЪрд┐рддреНрд░ рдХреЗ рдмрдЬрд╛рдп рд╕рдлреЗрдж рдкрдЯреНрдЯреАред рдЦреЗрд▓ рдореЗрдВ рдХрд╕реНрдЯрдо рд╕рдВрд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдПрдХ рдкрд░рдд рдереА рдЬреЛ рдПрдХ рдФрд░ рдкрд░рдд рдХреЗ рдКрдкрд░ рдЬреЛрдбрд╝реА рдЧрдИ рдереАред рд╕рд╛рдзрд╛рд░рдг рд╕реЗ рдмрд╛рд╣рд░ рдХреБрдЫ рднреА рдирд╣реАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрднреА-рдХрднреА, рдореЗрдиреВ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рд╕рдлреЗрдж рдкрдЯреНрдЯреА рдкреЙрдк рдЕрдк рд╣реЛрддреА рд╣реИред рдХреЛрдб рдПрдХ рд╕реЗ рдПрдХ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ ios рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣реИред рдпрд╣ рдХрдордЬреЛрд░ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдареАрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╛рдд рд╢реАрд░реНрд╖ рдореЙрдбрд▓ рдкрд░ рднреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред Googlecode рдкрд░ рдореБрджреНрджреЛрдВ рдореЗрдВ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдЧ рдореЗрдВ рдЬрдм рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рдПрдХ рд░реЗрдЦрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдпрд╛ рддреЛ рдореЗрд░реЗ рд╣рд╛рде рдЯреЗрдврд╝реЗ рд╣реИрдВ (рдЬреЛ рдХрд╛рдлреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ), рдпрд╛ рдкреЛрд░реНрдЯ рдПрдВрдбреНрд░реЙрдЗрдб рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред

рдврд╛рдВрдЪреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдирд╛рдоред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдмрдВрджрд░рдЧрд╛рд╣ рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдирд╛рдордХрд░рдг рдХреНрдпрд╛ рдерд╛ред рдпрд╣ рдордЬрд╝рд╛ рдЖрд╕рд╛рди рд╣реИред рдореБрдЦреНрдп рд╡рд░реНрдЧреЛрдВ рдХреЛ IOS рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рднреА рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЧ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (SimpleAudioEngine рдХреЗ рдмрдЬрд╛рдп SoundEngine)ред рд╡рд┐рдзрд┐рдпреЛрдВ рдиреЗ рдЕрдкрдиреЗ рдЙрдкрд╕рд░реНрдЧ рдЦреЛ рджрд┐рдП рд╣реИрдВ, рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХрдИред рдЖрдк рдмреИрдарддреЗ рд╣реИрдВ рдФрд░ рдЖрд╢реНрдЪрд░реНрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдирд╣реАрдВред рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ, рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдЦрдХ, IMHO рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЕрдЬреАрдм рдирд┐рд░реНрдгрдп рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред

_ рддреЛрддрд╛ рдХреНрд╖реЗрддреНрд░ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд░реНрдЧ рдХреНрд╖реЗрддреНрд░ред рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ: рдХреЛрдг рдХрд╛ рдореВрд▓реНрдп рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╡рд░реНрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдЖрдИрдУрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкреНрд░рд╛рдЗрдЯ рдиреЗ рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди рд╕реЗ рдмрд╛рд╣рд░ рдЙрдбрд╝рд╛рди рднрд░реАред рдбрд┐рдмрдЧ рдФрд░ рдЕрдиреНрдп рд╕реАрдЯреА рдкрд░ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рдЧрдПред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдРрд╕реЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЧреБрдгреЛрдВ рдХреЛ рдмрд╕рдиреЗ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдкреЛрд░реНрдЯрд┐рдВрдЧ рдФрд░ рдЕрдзрд┐рдХ рдХрд╛ рдЬрд╛рджреВ!

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

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



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

рдмрд▓ рдЖрдкрдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддрд╛ рд╣реИ!

рдпреБрдкреАрдбреА
рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдореИрдВ рдЙрди рдореБрдлрд╝реНрдд рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рди рдкрд░ рдЖрдкрдХреЛ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдХрдИ рдЕрдиреНрдп рд╣реИрдВред рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдЗрдирдореЗрдВ рд╕реНрдЯреИрдХрдСрд╡рд░рдлреНрд▓реЛ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╛рдордЧреНрд░реА рд╣реИред



рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдПрдиреНрдЧреНрдпреБрдЯреАрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмреЗ рдкрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдереАред рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА Google рдФрд░ Habrapoisk рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред

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


All Articles