Tiniest2D के साथ 2D गेम बनाएं
निर्यात करना और सर्वोत्तम प्रथाएँ
Lesson 11 of 11 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
आपका गेम एक्सपोर्ट करना
- शीर्ष बार में Export आइकन पर क्लिक करें
- अपने गेम के लिए एक स्थान और फ़ाइल नाम चुनें
- इंजन आपके प्रोजेक्ट के साथ एक स्टैंडअलोन
.exeबनाता है - इस एकल फ़ाइल का वितरण करें - कोई अन्य फ़ाइलें आवश्यक नहीं हैं!
निर्यातित गेम:
- बिना संपादक इंटरफ़ेस के चलता है
- सभी इमेज, दृश्य, और कोड शामिल होते हैं
- आपके संसाधनों की सुरक्षा के लिए एन्क्रिप्टेड होता है
टिप्स और सर्वोत्तम प्रथाएँ
प्रदर्शन
- चित्र के आकार को उचित रखें (पिक्सल, उच्च-रिज़ॉल्यूशन नहीं)
removeObject()के साथ उन वस्तुओं को हटाएं जिनकी आपको अब आवश्यकता नहीं है- रेंडरिंग क्रम को व्यवस्थित करने के लिए परतों का उपयोग करें
संगठन
- वस्तुओं और चित्रों को अर्थपूर्ण नाम दें
- अपने कोड के दस्तावेजीकरण के लिए टिप्पणियों का उपयोग करें
- संबंधित परिवर्तनीयों को एक साथ समूहित करें
डिबगिंग
- चर मानों को आउटपुट करने के लिए
print()का उपयोग करें - प्रिंट संदेश गेम विंडो में दिखाई देते हैं
- यदि वस्तुएं दीवारों के माध्यम से गुजर रही हैं तो टकराव प्रकार की जांच करें
सामान्य समस्याएँ
वस्तुएं टकराती नहीं:
- टकराव प्रकार की जांच करें (दोनों वस्तुओं को उचित प्रकार की आवश्यकता है)
- सुनिश्चित करें कि वस्तुएं दृश्य में जोड़ी गई हैं
- सुनिश्चित करें कि स्प्राइट के पास एक कोलाइडर सक्षम है
वस्तुएं दीवारों के माध्यम से गुजर रही हैं:
- दीवारों को
COLLISION_STATIC()होना चाहिए - चलती वस्तुओं को
COLLISION_DYNAMIC()होना चाहिए - बहुत तेज वस्तुएं टनल कर सकती हैं - गति कम करें या टकराव सीमाएँ बढ़ाएं
कैमरा प्लेयर का पालन नहीं कर रहा:
onUpdate()में कैमरा स्थिति को अपडेट करें, केवलstart()में नहीं- याद रखें कैमरा स्थिति दृश्य का केंद्र है
त्वरित संदर्भ कार्ड
// संपत्ति बनाएं
var img = Sprite(16, 16)
var scene = Scene()
var sfx = Audio()
var obj = Object("Name")
// वस्तु संचालन
setX(obj, 100)
setY(obj, 100)
setSprite(obj, img)
setCollisionType(obj, COLLISION_DYNAMIC())
addObject(scene, obj)
// स्प्राइट संचालन
fillSprite(img, 255, 0, 0, 255) // लाल से भरें
setPixel(img, 0, 5, 5, 0, 255, 0, 255) // (5,5) पर पिक्सल सेट करें
var color = getPixel(img, 0, 5, 5) // (5,5) पर [r,g,b,a] प्राप्त करें
setAnimationFPS(img, 24) // एनिमेशन गति सेट करें
var fps = getAnimationFPS(img) // एनिमेशन गति प्राप्त करें
// फ़िजिक्स (गति + गुरुत्वाकर्षण)
setGravityY(scene, 300) // दृश्य की गुरुत्वाकर्षण सेट करें
setVelocityX(obj, 100) // दाईं ओर बढ़ें
setVelocityY(obj, -200) // ऊपर कूदें
// एनिमेशन नियंत्रण
setFrame(obj, 0) // विशिष्ट फ्रेम पर सेट करें
var frame = getFrame(obj) // वर्तमान फ्रेम प्राप्त करें
var count = getFrameCount(obj) // कुल फ्रेम
// दृश्य नियंत्रण
setScene(scene)
resetScene(scene)
setBackgroundColor(scene, 135, 206, 235) // आसमानी नीला
// दृश्य क्वेरी
var obj = getObjectAt(scene, mx, my) // बिंदु पर वस्तु
var hits = getObjectsInBox(scene, x, y, 32, 32) // क्षेत्र में वस्तुएं
var enemy = getObjectByName(scene, "enemy") // नाम से खोजें
var all = getAllObjects(scene) // सभी वस्तुओं को प्राप्त करें
var count = getObjectCount(scene) // वस्तुओं की गणना करें
var coins = getObjectsBySprite(scene, coinSprite) // स्प्राइट द्वारा
var enemies = getObjectsByCollisionType(scene, COLLISION_DYNAMIC())
// ऑडियो
var handle = playAudio(sfx)
if (isAudioPlaying(handle)) { }
stopAudio(handle)
// कैमरा (स्थिति = दृश्य का केंद्र)
setCameraX(scene, x)
setCameraY(scene, y)
setCameraZoom(scene, 3.0) // 240 विश्व इकाइयों को ऊर्ध्वाधर दिखाता है
// स्क्रीन और समन्वय रूपांतरण
var w = getScreenWidth()
var h = getScreenHeight()
var worldPos = screenToWorld(mouseX, mouseY) // [worldX, worldY]
var screenPos = worldToScreen(objX, objY) // [screenX, screenY]
// विंडो मोड (केवल निर्यातित खेलों को प्रभावित करता है)
setWindowMode(WINDOW_MAXIMIZED()) // डिफ़ॉल्ट
setWindowMode(WINDOW_FULLSCREEN()) // बॉर्डरलेस फुलपैन मोड
setWindowMode(WINDOW_WINDOWED()) // नियमित विंडो
// कीबोर्ड इनपुट
if (isKeyPressed(KEY_SPACE())) { }
if (isKeyHeld(KEY_LEFT())) { }
// माउस इनपुट
if (isMouseButtonPressed(MOUSE_LEFT())) { }
var mx = getMouseX()
var my = getMouseY()
// रैंडम नंबर और गणित
var r = random() // 0.0 से 1.0
var n = randomInt(1, 10) // 1 से 10
var x = clamp(14, 0, 10) // 10
var y = lerp(0, 100, 0.5) // 50
var snapped = round(15.7) // 16
var dir = sign(-8) // -1
var power = pow(2, 3) // 8
var angle = PI() / 2 // 1.5708... रेडियन
var bob = sin(angle) // ट्रिग रिडियन का उपयोग करते हैं
var deg = rad2deg(angle) // 90 डिग्री
// UI शैली ढेर
uiPushElementColor(28, 40, 70, 220)
uiPushFontColor(255, 220, 120)
uiLabel("READY", 4, 4)
uiPopFontColor()
uiPopElementColor()
// स्टोरेज (गेम डेटा को सहेजें/लोड करें)
var data = [100, "Player", true]
save(getAppDataPath() + "/MyGame/save.dat", data)
var loaded = load(getAppDataPath() + "/MyGame/save.dat")
if (fileExists(getAppDataPath() + "/MyGame/save.dat")) { }
deleteFile(getAppDataPath() + "/MyGame/old.dat")
// गेम नियंत्रण
quitGame() // गेम से बाहर निकलें
// गेम लूप
func start() { }
func onUpdate(dt) { }
func onCollision(a, b) { }
func end() { }
Tiniest 2D Pixel Engine - गेम बनाएं, इंजन नहीं।