Moai SDK 1.5 - рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо 2D рдЧреЗрдо рдЗрдВрдЬрди


рдЖрдЬ рдореИрдВ рдПрдХ рдЕрд▓реНрдкрдЬреНрдЮрд╛рдд рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдЧреЗрдо рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред 2d рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдореЗрдВ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдХрд╛рд░рдг рдХреЗрд╡рд▓ рдпреВрдирд┐рдЯреА 3 рдбреА рд╣реА рдПрдХрдорд╛рддреНрд░ рдкреНрд░рддрд┐рдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред MOAI SDK рдкрд░ рдЙрдЪрд┐рдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдХрдореА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИ - рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреБрдж (рдЬрд╝рд┐рдкрд▓рд╛рдЗрди рдЧреЗрдо) рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдХреЛ "рдкреНрд░реЛ рдЧреЗрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо" рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рддреЛ рдЖрдк рдЧреЗрдо рдХреЛ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред luaред

рдореБрдЭреЗ MOAI рдЗрддрдирд╛ рдкрд╕рдВрдж рдХреНрдпреЛрдВ рдЖрдпрд╛:


рд╡рд┐рдкрдХреНрд╖ рдФрд░ рджреЛрд╖:


рд╕реНрдерд╛рдкрдирд╛ (рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕)


рдореИрдВ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХреЗрд╡рд▓ рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╣рд╛рде рдкрд░ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдирд╣реАрдВ рд╣реИред

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рднрдВрдбрд╛рд░ рдХрд╛ рдХреНрд▓реЛрди:
git clone https://github.com/moai/moai-dev.git 

рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдПрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдПрдХрддреНрд░ рдХрд░реЗрдЧреА:
 cd moai-dev bin/build-osx-sdl.sh 

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд░рд┐рд▓реАрдЬрд╝ / рдУрдПрдХреНрд╕рдПрдХреНрд╕ / рд╣реЛрд╕реНрдЯ-рдПрд╕рдбреАрдПрд▓ / рдмрд┐рди / рдореЛрдп рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреА, рд╣рдо рдЗрд╕реЗ рдПрдХ рд▓рд┐рдВрдХ рдХрд░реЗрдВрдЧреЗ (~ / рдмрд┐рди рдореЗрд░реЗ рдкреЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ):
 ln -s /Users/vavius/moai-dev/release/osx/host-sdl/bin/moai ~/bin/moai 

рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рдПрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
 cd samples/hello-moai moai 

рд╣рдо рдПрдХ рдХрддрд╛рдИ рдЕрдВрдЬреАрд░ рдФрд░ рдПрдХ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рдкрд╛рда рджреЗрдЦрддреЗ рд╣реИрдВ:


рд▓реБрдЖ рдкрд░ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ


рдЪрд▓реЛ рдПрдХ рдиреНрдпреВрдирддрдо рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рд╕реНрдХреНрд░реАрди рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдЦреАрдВрдЪреЗрдВ:

рдХреЛрдб:
 -- 1 MOAISim.openWindow ( "sample", 600, 240 ) local viewport = MOAIViewport.new () viewport:setSize ( 600, 240 ) viewport:setScale ( 600, 240 ) -- 2 local layer = MOAILayer.new () layer:setViewport ( viewport ) -- 3 local renderTable = { layer } MOAIGfxDevice.getFrameBuffer ():setRenderTable ( renderTable ) -- 4 local deck = MOAIGfxQuad2D.new () deck:setTexture ( "moai.png" ) deck:setRect ( -64, -64, 64, 64 ) -- 5 local prop = MOAIProp.new () prop:setDeck ( deck ) layer:insertProp ( prop ) 

рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХрд╛ рд╡рд┐рд╡рд░рдг:
  1. рдПрдХ рд╡рд┐рдВрдбреЛ рдФрд░ рдПрдХ рд╡реНрдпреВрдкреЛрд░реНрдЯ рдмрдирд╛рдПрдВред рд╡реНрдпреВрдкреЛрд░реНрдЯ рдЖрдкрдХреЛ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рддрдбрд╝рдХ рдХреЗ рдмрд┐рдирд╛ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
  2. рдПрдХ рдкрд░рдд рдкреНрд░реЛрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реИ (рдФрд░ рдкреНрд░реЛрдк рдХреЛ рд╕рдм рдХреБрдЫ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдкрд░рдд рдХреЛ рдПрдХ рдХреИрдорд░реЗ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдкреНрд░реЙрдкреНрд╕ рдХреЛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпреВрдкреЛрд░реНрдЯ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдкрд░рдд рдЫрд╛рдВрдЯрдиреЗ (рдЖрджреЗрд╢ рджреЗрдиреЗ) рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ - рдПрдХреНрд╕, рд╡рд╛рдИ, рдЬреЗрдб рджреНрд╡рд╛рд░рд╛ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╛ рд╡реЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ (рдкреВрд░реНрдгрд╛рдВрдХ) рджреНрд╡рд╛рд░рд╛, рд╕рд╛рде рд╣реА рдЖрдЗрд╕реЛрдореЗрдЯреНрд░рд┐рдХ рдЯрд╛рдЗрд▓ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХрд╛ ISO_SORTред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдд рдореЗрдВ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ MOAIPartition рдХрдВрдЯреЗрдирд░ рд╣реЛрддрд╛ рд╣реИ - рд╣рд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдХрд┐рд░рдгреЗрдВ, рдПрдХ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдВрджрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  3. рд╣рдо рд░реЗрдВрдбрд░ рдЯреЗрдмрд▓ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ - рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдЬреЛ рдлреНрд░реЗрдордмрдлрд╝рд░ рдореЗрдВ рдХреНрд░рдо рдореЗрдВ рдЦреАрдВрдЪреА рдЬрд╛рдПрдЧреАред рд░реЗрдВрдбрд░ рдХрд░рддреЗ рд╕рдордп рд╡рд╣ рд▓реЗрдпрд░ рдЙрд╕рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рд╕рднреА рдкреНрд░реЛрдк рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдЯреЗрдмрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рджреГрд╢реНрдп рдкреНрд░рдмрдВрдзрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ
  4. рдбреЗрдХ - рдПрдХ рд╡рд╕реНрддреБ рдЬреЛ рджреГрд╢реНрдп рднрд╛рдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдЯреНрд░реИрдХреНрдЯрд░ - рджреЛ рддреНрд░рд┐рдХреЛрдг), рдпреВрд╡реА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ, рдмрдирд╛рд╡рдЯ рдФрд░ shader рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдбрд╝реА
  5. рдкреНрд░реЛрдк - рд╕реНрдХреНрд░реАрди рдкрд░ рдЦреАрдВрдЪреА рдЧрдИ рд╡рд╕реНрддреБ рдХреА рдПрдХ рд╕рд╛рдореВрд╣рд┐рдХ рдЫрд╡рд┐ред рдпрд╣, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдЕрд▓рдЧ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдбреЗрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ 3 рдбреА рдореЗрд╖ рдФрд░ рдПрдХ рдЯрд╛рдЗрд▓ рдХрд╛рд░реНрдб рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдкреВрд░реНрдг рд╕реНрд╡рддрдВрддреНрд░рддрд╛


рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдПрдХ рд╡рд░реНрдЧ рдХреНрд╡рд╛рдб рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдЯреНрд░реЗрдкреЛрдЬрд╝реЙрдЗрдб рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕реЗрдЯрд░реЗрдХреНрдЯ рдХреЗ рдмрдЬрд╛рдп рд╣рдо рд╕реЗрдЯрдХреНрд╡рд╛рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
 local deck = MOAIGfxQuad2D.new () deck:setTexture ( "moai.png" ) deck:setQuad ( -64, 64, 64, 64, 100, -64, -100, -64 ) --          

рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реИ:


рд╣рдо рдЕрдкрдиреА рддрд╕реНрд╡реАрд░ рдХреЗ рд╕рд╛рде рдкреВрд░реА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдмрдирд╛рд╡рдЯ рдкрд░ GL_REPEAT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рджреЛ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЧреБрдгрдХ рд╣реИрдВ, рдФрд░ рдЖрдк рдПрдЯрд▓рд╕ рд╕реЗ рдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕рд▓рд┐рдП, рд╣рдо MOAIGrid рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
 local deck = MOAIGfxQuad2D.new () deck:setTexture ( "moai.png" ) deck:setRect ( -0.5, -0.5, 0.5, 0.5 ) local grid = MOAIGrid.new () grid:initRectGrid ( 1, 1, 128, 128 ) grid:fill ( 1 ) grid:setRepeat ( true, true ) local prop = MOAIProp.new () prop:setDeck ( deck ) prop:setGrid ( grid ) layer:insertProp ( prop ) 

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


рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдПрдирд┐рдореЗрдЯреЗрдб рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдкреГрд╖реНрдарднреВрдорд┐ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЕрдВрдд рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
 prop:moveLoc ( -128, 0, 0, 4, MOAIEaseType.LINEAR ):setMode ( MOAITimer.LOOP ) 

рдмрд╕ рд▓реВрдк рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдк рдХреЛ рдПрдХ рдЯрд╛рдЗрд▓ рдХреА рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрдВрдЬрди рд╣реА рдкреВрд░реЗ рд╕реНрдХреНрд░реАрди рдХреЛ рдкрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдкрддрд╛ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ:


рдПрдиреАрдореЗрд╢рди рдФрд░ рдПрдХреНрд╢рди рдЯреНрд░реА


рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдШреБрдорд╛рдирд╛ рдФрд░ рдШреБрдорд╛рдирд╛, рд╕рд╛рде рд╣реА рдПрдиреАрдореЗрд╢рди рдкреНрд▓реЗрдмреИрдХ рдореЛрдб рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛:
 local move = prop:moveLoc ( 200, 0, 0, 2 ) --  local rot = prop:moveRot ( 0, 0, 360, 2, MOAIEaseType.LINEAR ) --    Z move:setMode ( MOAITimer.PING_PONG ) -- - rot:setMode ( MOAITimer.LOOP ) --  


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдРрдХреНрд╢рди рд╡реГрдХреНрд╖ рдХреЗ рдореВрд▓ рдореЗрдВ рдПрдирд┐рдореЗрд╢рди рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕рдореВрд╣ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
 local action = MOAIAction.new () action:addChild ( move ) action:addChild ( rot ) action:start () action:throttle ( 0.5 ) 

рдЕрдм рд╣рдо рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛрдиреЛрдВ рдПрдирд┐рдореЗрд╢рди рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд▓реЗрдмреИрдХ рдЧрддрд┐ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереНрд░реЙрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рд╣рдо рдЪрд┐рддреНрд░ рдХреЛ рдмрд╛рдПрдБ рдФрд░ рджрд╛рдПрдБ рдШреБрдорд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЪрд░рдо рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рд╣рдо рдПрдХ рдкреВрд░реНрдг рдХреНрд░рд╛рдВрддрд┐ рдХрд░рддреЗ рд╣реИрдВ:
 local function func () local distance = 200 while true do local action1 = prop:moveLoc ( distance, 0, 0, 2 ) MOAICoroutine.blockOnAction ( action1 ) local action2 = prop:moveRot ( 0, 0, 360, 2 ) MOAICoroutine.blockOnAction ( action2 ) distance = -distance end end local thread = MOAICoroutine.new () thread:run ( func ) 




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


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

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

рдЦреБрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕реАрдзреЗ рдХреЛрдб рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд╛рдЗрд╡ рдкреБрдирдГ рд▓реЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдЕрдм рдореИрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рд╕рдВрдкрд╛рджрдХ рдХреЛ, рдпреВрдирд┐рдЯреА 3 рдбреА рдХреА рдЫрд╡рд┐ рдореЗрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд▓рд╛рдЗрд╡ рд░реАрд▓ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЪреАрдЬреЗрдВ рдзреАрдореА рд╣реЛ рдЧрдИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╣рдо рдПрдХ рд╡реЗрдХреНрдЯрд░ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ рдХреЛрдб (рдШреЛрд╖рдгрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ: gist.github.com/Vavius/9868572 )ред рдмреЗрд╢рдХ, рдпрд╣ рд╕рдм рдХрд┐рд╕реА рднреА рдЗрдВрдЬрди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, cocos2d-x рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ, рдХреНрд░рд╛рдЙрди рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднреАред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, 2 рдбреА рдЧреЗрдо рдХреЗ рд▓рд┐рдП рд╣рдо рдирд╛рд░рд┐рдпрд▓ рд╕реЗ рдПрдордУрдПрдЖрдИ рдореЗрдВ рдЪрд▓реЗ рдЧрдП рдФрд░ рдЗрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкрдЫрддрд╛рд╡рд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрдзрд┐рдХ рд╡рдпрд╕реНрдХ, рд▓рдЪреАрд▓рд╛ рдФрд░ рдХреВрд▓рд░ + рдХреЛрдб рд╕реНрд╡рдЪреНрдЫ рдФрд░ рд╕реБрдВрджрд░ рд╣реИред

рд╕рдВрджрд░реНрдн


getmoai.com - рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ
getmoai.com/docs/annotated.html - рдбреЙрдХ
moaiwebsite.imtqy.com - рдПрдХ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ, рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ sawnред рдХрд┐рд╕реА рджрд┐рди рдирдпрд╛ рдЪреЗрд╣рд░рд╛ рд╣реЛрдВрдЧреЗ
github.com/makotok/Hanappe рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп Oua-рд╕реНрдЯрд╛рдЗрд▓ Lua рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдРрд╕реЗ рд╕рднреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ, рдпрд╣ рдХреЗрд╡рд▓ рдЕрдм рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдЕрдкрдбреЗрдЯ:
moaifiddle.com/Q09BJWGMW6/3 - рдЗрдВрдЬрди рдХрд╛ js рд╕рдВрд╕реНрдХрд░рдгред рдЕрдм рдЖрдк рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд┐рдирд╛ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ!

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


All Articles