पिक्सेल प्यार या लव 2 डी क्या है

लव 2 डी क्या है और इस पोस्ट के बारे में क्या है? यह 2 डी गेम विकसित करने के लिए एक क्रॉस-प्लेटफॉर्म फ्रेमवर्क है। क्यों बिल्कुल प्यार 2d? क्योंकि यह मुफ़्त, हल्का, क्रॉस-प्लेटफ़ॉर्म, खुला स्रोत है, और सबसे महत्वपूर्ण बात, एक इंजन जिसे प्यार से बनाया गया है।


ट्रेनिंग

आप एक नोटबुक में भी इस पर गेम लिख सकते हैं, लेकिन मैं उदात्त पाठ 2 का उपयोग करूंगा, क्योंकि यह सरल और लचीला है। आप सभी लोकप्रिय डेस्कटॉप प्लेटफार्मों के लिए यहां प्यार डाउनलोड कर सकते हैं। उदात्त पाठ लॉन्च करें और तुरंत टूल-> बिल्ड सिस्टम-> न्यू बिल्ड सिस्टम पर जाएं ... और यह लिखें:

{ "selector": "source.lua", "cmd": ["c:\\Program Files\\LOVE\\love", "${project_path:${folder}}"] } 

(यदि आपके पास x64 है तो हम प्यार करने के लिए रास्ता बदलते हैं)

यह आसान शुरुआत के लिए है, अब आपको बस इतना करना है कि Ctrl + B दबाएं। एक फ़ोल्डर बनाएं जहां हम अपना गेम स्टोर करेंगे। इसमें हम main.lua बनाते हैं। हमारे खेल का आधार इस फ़ाइल में संग्रहीत किया जाएगा। और उदात्त पाठ में हम प्रोजेक्ट में फ़ोल्डर जोड़ते हैं। सब कुछ तैयार है। आपको कुछ इस तरह से मिलना चाहिए:



मुझे एक कोड चाहिए!

सभी तर्क love.update (dt) फ़ंक्शन में अपडेट किए जाएंगे, और हम love.draw () में आरंभ करेंगे, इनिशियलाइज़ेशन love.load () है। तो चलिए उन्हें तुरंत लिखते हैं:

 function love.load() end function love.update(dt) end function love.draw() end 


अब एक तस्वीर जोड़ते हैं और तुरंत इसे खींचते हैं। चित्र love.graphics.newImage (फ़ाइल नाम) फ़ंक्शन का उपयोग करके लोड किए गए हैं, और love.graphics.draw (छवि, x, y) में खींचे गए हैं। इस तस्वीर को फ़ोल्डर में जोड़ें। और कोड लिखें:

 local habrImage, width, height function love.load() habrImage = love.graphics.newImage("habr.png") width = love.graphics.getWidth() height = love.graphics.getHeight() end function love.update(dt) end function love.draw() love.graphics.draw(habrImage, width / 2 - habrImage:getWidth() / 2, height / 2 - habrImage:getHeight() / 2) end 


Ctrl + B और हमारे पास कुछ सुंदर नहीं है, चलो पृष्ठभूमि को सफेद करते हैं और बनाते हैं। प्रतिपादन की शुरुआत में निम्नलिखित पंक्ति जोड़ें:

 love.graphics.setBackgroundColor(255, 255, 255) 


और अब, एक अच्छी लग रही तस्वीर।

यह सब निश्चित रूप से अच्छा है, लेकिन आइए हम अपने खेल में जीवन जोड़ें और चित्र के साथ क्रिया करें, अर्थात्:
- आर की पर, पिक्चर स्पिन होगी
- एस की पर, चित्र बढ़ेगा / घटेगा
- एम बटन तस्वीर को स्थानांतरित करेगा।

इसे कार्यान्वित करने के लिए, हम चर राज्य को जोड़ते हैं (जो हो रहा है उसके लिए जिम्मेदार होगा), रोटेशन (चित्र का कोण), स्केल (इसका आकार), बैल, बैल (चित्र के केंद्र में शिफ्ट) और डेल्टा (यह चर चर के अद्यतन के लिए जिम्मेदार होगा)। अब इनपुट के बारे में, प्यार में, जब कुंजी को उतारा जाता है, तो love.keypressed (कुंजी, यूनिकोड) फ़ंक्शन को कहा जाता है, और जब आप love.keyreleased (कुंजी) बढ़ाते हैं। हम चाबियों के निचले हिस्से को ट्रैक करेंगे। अब कोड ही:

 local habrImage, width, height, state, rotation, scale, ox, oy, delta --  function love.load() habrImage = love.graphics.newImage("habr.png") width = love.graphics.getWidth() height = love.graphics.getHeight() state = "none" resetVariables() end --         function resetVariables() rotation = 0 scale = 1 ox = 0 oy = 0 delta = 1 end --    function love.keypressed(key, unicode) if key == "r" then state = "rotation" resetVariables() elseif key == "s" then state = "scalling" resetVariables() elseif key == "m" then state = "moving" resetVariables() elseif key == "space" then --    (: state = "none" resetVariables() end end --  function love.update(dt) if state == "rotation" then --  rotation = rotation + delta * dt elseif state == "scalling" then -- scale = scale + delta * dt elseif state == "moving" then --  ,    : --     --          --   delta = delta + delta * dt local radius = 50 ox = radius * math.sin(delta) oy = radius * math.cos(delta) end end -- function love.draw() --  love.graphics.setBackgroundColor(255, 255, 255) --  love.graphics.draw(habrImage, width / 2 - habrImage:getWidth() / 2, height / 2 - habrImage:getHeight() / 2, rotation, scale, scale, ox, oy) end 


वह सब है, सज्जनों। खेल बनाने के साथ गुड लक! यहाँ आपकी मदद करने के लिए एक विकी और ऑफ साइट है

जारी रखा जाए।

ZY यह सब 0.8.0 में लिखा गया था।
Zzy चलाने के लिए बिल्ड सिस्टम का चयन करना याद रखें।

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


All Articles