рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреЗ рд▓рд┐рдП рдХреЛрдбрд┐рдВрдЧ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк, рд▓рд╛рднрджрд╛рдпрдХ рдФрд░ рдЖрд╢рд╛рдЬрдирдХ рд╡реНрдпрд╡рд╕рд╛рдп рд╣реИред рдореИрдВ рд╣рдореЗрд╢рд╛ рдкреАрдбреАрдП рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдЦреЗрд▓ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рдореИрдВ рдореЗрдЯреНрд░реЛ рдХреЗ рдиреАрдЪреЗ рдЬрд╛рддрд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рд▓реЛрдЧ рднреА рдРрд╕рд╛ рд╣реА рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╡рд┐рд╡рд┐рдзрддрд╛ рдЕрдХреНрд╕рд░ рд╣рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реАрдорд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреА рд╣реИред
Ideaworks Labs рдиреЗ рд╣рдорд╛рд░реА рджреЗрдЦрднрд╛рд▓ рдХреА рдФрд░ AirPlaySDK рдмрдирд╛рдпрд╛ред рдпрд╣ рдЯреВрд▓рдХрд┐рдЯ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ C ++ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рдЗрд╕реЗ iOS, Android, Samsung Bada, рд╕рд┐рдореНрдмрд┐рдпрди, рд╡рд┐рдВрдбреЛрдЬ рдореЛрдмрд╛рдЗрд▓, BREW, рдкрд╛рдо / HP WebOS рдФрд░ Maemo рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдЪреНрдЫрд╛, рдХрд┐рддрдирд╛ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, AirPlaySDK рдХреЗ рдкрд╛рд╕ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рд▓реЗрдЦрди рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ) рдФрд░ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдордВрдЪ рдХреА рдЕрдиреВрдареА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк AirPlaySDK рдХреЛ
www.airplaysdk.com рд╕реЗ рдореБрдлреНрдд рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдХреЗрд╡рд▓ $ 99 рдХреЗ рд▓рд┐рдП рдЗрдВрдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ iPhone рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЗрд╕ рдЯреВрд▓рдХрд┐рдЯ рдХреЛ рдореБрдлреНрдд рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд рдореБрдлреНрдд рдореЗрдВ)ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг
AirPlaySDK рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдХреНрд░рдорд╢рдГ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ (рд╕рдВрд╕реНрдХрд░рдг 6.0 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ) рдФрд░ Xcode рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ Xcode рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред
рддреЛ, рдЖрдкрдиреЗ AirPlaySDK рдФрд░ Visual Studio рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИред рдЕрдкрдиреЗ рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдХрд╣реАрдВ рднреА рдПрдХ
HelloWorld рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБред рдпрд╣ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдкрд╣рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд░рдЦреА рдЬрд╛рдПрдЧреАред
рд╕рдВрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХреА рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓
HelloWorld.mkb рд╣реИ
рд╣реИрд▓реЛрд╡рд░реНрд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рд▓рд┐рдЦреЗрдВ:
options { s3e-data-dir="data" } files { (source) HelloWorld.cpp HelloWorld.h HelloWorldMain.cpp } subprojects { iw2d }
рдпрд╣рд╛рдВ,
рд╡рд┐рдХрд▓реНрдк рдЕрдиреБрднрд╛рдЧ рдХрд╛
s3e-data-dir рдкреИрд░рд╛рдореАрдЯрд░ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдВрд╕рд╛рдзрди рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреЗред рдпрд╣ рдЪрд┐рддреНрд░, рд╕рдВрдЧреАрдд рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
HelloWorld рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рд┐рдд
рдбреЗрдЯрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБред
рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдиреБрднрд╛рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдХреЛрд╖реНрдардХ рдореЗрдВ рд╣рдордиреЗ
рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рднреА рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдореЗрдВ рд╣рдо рддреАрди рдлрд╛рдЗрд▓реЗрдВ рд░рдЦреЗрдВрдЧреЗ:
HelloWorld.cpp ,
HelloWorld.h рдФрд░
HelloWorldMain.cpp ред
рдЙрдкрдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдирд╛рдо рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!"
рдЗрд╕рд▓рд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддреИрдпрд╛рд░реА рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИ рдФрд░ рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
HelloWorld.mkb рдлрд╝рд╛рдЗрд▓ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ AirPlaySDK рд▓реЛрдЧреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЦреБрд▓ рдЬрд╛рдПрдЧрд╛ред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ
HelloWorldMain.cpp рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдБ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рд╣реИред
#include "s3e.h" #include тАЬHelloWorld.hтАЭ int main() { GameInit(); while (true) { s3eDeviceYield(0); s3eKeyboardUpdate(); bool result = GameUpdate(); if ((result == false) || (s3eKeyboardGetState(s3eKeyEsc) & S3E_KEY_STATE_DOWN) || (s3eKeyboardGetState(s3eKeyLSK) & S3E_KEY_STATE_DOWN) || (s3eDeviceCheckQuitRequest())) break; GameRender(); } GameShutdown(); }
#Include "s3e.h" рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП
, рд╣рдо рдорд╛рдирдХ AirPlaySDK рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИред
рд╣рдо
GameInit () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡рдпрдВ
рд▓рд┐рдЦреЗрдВрдЧреЗ ред рдпрд╣ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдЪрд░ рдХреЛ рдЖрд░рдВрдн рдХрд░ рджреЗрдЧрд╛, рд╣рд░ рд╕рдВрднрд╡ рддрд░реАрдХреЗ рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧрд╛, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ рддреБрд░рдВрдд рдЕрдиреНрдп рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░реЗрдЧрд╛ред
S3eDeviceYield (..) рдлрд╝рдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рд╢реВрдиреНрдп рдкрд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдордд рдиреНрдпреВрдирддрдо рдиреНрдпреВрдирддрдо рд╡рд┐рд▓рдВрдм рдорд┐рд▓рддрд╛ рд╣реИред
s3eKeyboardUpdate () рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд▓реВрдк рдХреЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рдХреБрдВрдЬреА рджрдмрд╛рдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рд╣рдо
рдЧреЗрдЯрдЕрдкрдбреЗрдЯ () рдлрд╝рдВрдХреНрд╢рди рднреА рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЗрд╕рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреВрд░рд╛ рддрд░реНрдХ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдЦреЗрд▓ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЧреЛрд▓реА рдорд╛рд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рд░рд╛рдХреНрд╖рд╕ рдорд░ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ рдпрд╛
рдЧрд▓рдд рд╣реИ, рддреЛ рдЙрджрд╛рд╣рд░рдг рд╕рд╣реА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ "рдЧреЗрдо рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рдВрдЪ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдиреВ рдЖрдЗрдЯрдо рдпрд╛ рдлреЛрди рдХреБрдВрдЬреА рджрдмрд╛рдХрд░ рдЖрд╡реЗрджрди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИ, рддреЛ рдпрд╣ рдореБрдЦреНрдп рдЪрдХреНрд░ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЖрдЧреЗ рдмрдврд╝реЗрдВред
рдЧреЗрдорд░реЗрдВрдбрд░ () рдореЗрдВ , рдЬрд┐рд╕реЗ рд╣рдо рдлрд┐рд░ рд╕реЗ рдЕрдкрдиреЗ рджрдо рдкрд░ рдмрдирд╛рдПрдВрдЧреЗ, рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдм рдХреБрдЫ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛ рдПрдХ рдбреНрд░рд╛рдЗрдВрдЧ рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ,
GameShutdown () (рдЪреМрдерд╛ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдЕрднреА рднреА рдЕрд╕реНрддрд┐рддреНрд╡рд╣реАрди рд╣реИ) рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо
рд╕рд╣реЗрдЬрддрд╛ рд╣реИ , рд╕реНрдореГрддрд┐ рдХреЛ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред
рдЦреИрд░, рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЧрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдпред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐
HelloWorldMain.cpp рдлрд╝рд╛рдЗрд▓ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд▓реА рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдЧреА рдЬреЛ рдЖрдк AirPlaySDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдПрдВрдЧреЗред
рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ
рдЕрдм рдЙрди рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдЬреЛ рд╕реАрдзреЗ рдЖрд╡реЗрджрди рддрд░реНрдХ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, HelloWorld.cpp рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдХреЛрдб рдореЗрдВ рдбреНрд░рд╛рдЗрд╡ рдХрд░реЗрдВ:
#include "Iw2D.h" void GameInit() { Iw2DInit(); } bool GameUpdate() { return true; } void GameRender() { Iw2DSetColour(0xFF000000); Iw2DFillRect( CIwSVec2(0, 0), CIwSVec2(Iw2DGetSurfaceWidth(), Iw2DGetSurfaceHeight()) ); Iw2DSetColour(0xFF00FF00); Iw2DFillArc( CIwSVec2(Iw2DGetSurfaceWidth()/2, Iw2DGetSurfaceHeight()/2), CIwSVec2(30, 30), 0, 0x800 * 2 ); Iw2DSurfaceShow(); } void GameShutdown() { Iw2DTerminate(); }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛,
HelloWorld.cpp рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреЛрдб рдореЗрдВ рд╡реЗ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдореИрдВрдиреЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рд╕рд┐рд░реНрдл рд╕реНрдХреНрд░реАрди рдХреЛ рдХрд╛рд▓рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмреАрдЪ рдореЗрдВ рдПрдХ рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ рдЪрдХреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЕрдм рдпрд╣
HelloWorld.h рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди
рдореБрдЦреНрдп () рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
#ifndef HELLOWORLD_H #define HELLOWORLD_H void GameInit(); bool GameUpdate(); void GameRender(); void GameShutdown(); #endif
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ Visual Studio рдореЗрдВ F5 рдХреБрдВрдЬреА рджрдмрд╛рдХрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рд╡рд┐рдВрдбреЛ рдЦреБрд▓реЗрдЧреА, рдЬреЛ AirPlaySDK рдкрд░ рд╣рдорд╛рд░реА рдкрд╣рд▓реА рд░рдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧреАред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕реЗрдВрдмрд▓реА
рдЦреИрд░, AirPlaySDK рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ - рдПрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЗ рджреВрд╕рд░реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреАред
рд╕рдХреНрд░рд┐рдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ "GCC (ARM) рд░рд┐рд▓реАрдЬрд╝" рдЪреБрдиреЗрдВ рдФрд░ F5 рджрдмрд╛рдПрдБред рдЖрдкрдХреЛ Airplay System рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЙрдкрдХрд░рдг рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред "рдПрдЖрд░рдПрдо рдЬреАрд╕реАрд╕реА рд░рд┐рд▓реАрдЬрд╝" рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ "рдЕрдЧрд▓рд╛" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЕрдЧрд▓рд╛ рдХрджрдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдм рддрдХ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ "рдЕрдЧрд▓рд╛" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЪрд▓реЛ рдмрд╛рдбрд╛ рдУрдПрд╕ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ, "рд╕рднреА рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдорд╛рдкрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред
PS рджреЛ-рдЖрдпрд╛рдореА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, AirPlaySDK рддреАрди-рдЖрдпрд╛рдореА рдЧреЗрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреАрдкреАрдПрд╕, рдзреНрд╡рдирд┐рдпреЛрдВ, рд╕рдВрдкрд░реНрдХ рд╕реВрдЪрд┐рдпреЛрдВ, рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ, рд╡реАрдбрд┐рдпреЛ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИредрдпреБрдкреАрдбреАред рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╕рдордп рд╕реЗ, Airplay SDK рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ Marmalade SDK рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред