𝗟𝗶𝗺𝗻 𝗘𝗻𝗴𝗶𝗻𝗲: 𝗖𝗼𝗺𝗽𝗹𝗲𝘁𝗲 𝗔𝗣𝗜 𝗥𝗲𝗳𝗲𝗿𝗲𝗻𝗰𝗲
Limn Engine API ഉപയോഗിച്ച് ഗെയിമുകൾ വേഗത്തിൽ നിർമ്മിക്കാം. ഡെവലപ്മെന്റ് ആരംഭിക്കുന്നതിന് ആവശ്യമായ പ്രധാന ക്ലാസുകളെയും (classes) മെത്തേഡുകളെയും (methods) കുറിച്ചുള്ള വിവരങ്ങൾ ഈ ഗൈഡിൽ ഉൾപ്പെടുന്നു.
Core Classes
• Display (L1): എൻജിന്റെ ഹൃദയം. ഇത് ക്യാൻവാസ് (canvas), ഗെയിം ലൂപ്പ് (game loop), ഇൻപുട്ട്, ക്യാമറ എന്നിവ നിയന്ത്രിക്കുന്നു. • Component (L1): ദൃശ്യമാകുന്ന എല്ലാ ഒബ്ജക്റ്റുകളും. ഇത് പൊസിഷൻ, സൈസ്, ഫിസിക്സ്, കൊളിഷനുകൾ എന്നിവ കൈകാര്യം ചെയ്യുന്നു. • Camera (L2): വ്യൂപോർട്ട് (viewport) നിയന്ത്രിക്കുന്നു. പ്ലെയേഴ്സിനെ പിന്തുടരാനും, സ്ക്രീൻ ഷേക്ക് ചെയ്യാനും, സൂം ചെയ്യാനും ഇത് ഉപയോഗിക്കാം. • Move (L1): ഫിസിക്സ്, പാർട്ടിക്കിൾസ്, മൂവ്മെന്റ് ലോജിക് എന്നിവയ്ക്കുള്ള ഒരു ഹെൽപ്പർ. • State (L1): ഒബ്ജക്റ്റ് പ്രോപ്പർട്ടികൾ പരിശോധിക്കാനുള്ള റീഡ്-ഒൺലി (read-only) ടൂളുകൾ. • TileMap (L2): ഗ്രിഡ് അടിസ്ഥാനമാക്കിയുള്ള ലെവലുകൾക്കും മാപ്പുകൾക്കുമായുള്ള സിസ്റ്റം. • Tctxt (L1): ബാക്ക്ഗ്രൗണ്ട് സപ്പോർട്ടും അലൈൻമെന്റും ഉള്ള റിച്ച് ടെക്സ്റ്റ്. • Sound (L1): ഒറ്റപ്പെട്ട ഓഡിയോ ഫയലുകൾ കൈകാര്യം ചെയ്യുന്നു. • SoundManager (L4): ഒന്നിലധികം ശബ്ദങ്ങളും ഗ്ലോബൽ വോള്യവും നിയന്ത്രിക്കുന്നു. • ParticleSystem (L3): ബർസ്റ്റുകൾ, പുക, തുടർച്ചയായ ഇഫക്റ്റുകൾ എന്നിവ നിർമ്മിക്കുന്നു. • Sprite (L2): സ്പ്രൈറ്റ്ഷീറ്റ് (spritesheet) ആനിമേഷനുകൾ കൈകാര്യം ചെയ്യുന്നു.
Quick Implementation
എൻജിൻ ആരംഭിക്കാൻ:
const display = new Display();
display.perform();
display.start(800, 600);
ഒരു പ്ലെയറെ ചേർക്കാൻ:
const player = new Component(40, 40, "blue", 100, 100);
player.physics = true;
player.gravity = 0.4;
display.add(player);
Movement and Physics
നിങ്ങളുടെ കോഡ് ലളിതമാക്കാൻ move ഹെൽപ്പർ ഉപയോഗിക്കുക:
- move.bound(player): ഒബ്ജക്റ്റുകളെ ക്യാൻവാസിനുള്ളിൽ തന്നെ നിലനിർത്തുന്നു.
- move.pointTo(id, x, y): ഒരു ഒബ്ജക്റ്റിനെ ലക്ഷ്യത്തിലേക്ക് തിരിക്കാൻ ഉപയോഗിക്കുന്നു.
- move.project(id, speed, angle, gravity): പ്രൊജക്റ്റൈൽ മോഷൻ (projectile motion) നിർമ്മിക്കുന്നു.
- move.accelerate(id, ax, ay): സുഗമമായ ചലനം നൽകുന്നു.
Camera Control
ഈ മെത്തേഡുകൾ ഉപയോഗിച്ച് ആക്ഷനുകൾ കാഴ്ചയിൽ നിലനിർത്താം:
- display.camera.follow(target, true): ഒരു ഒബ്ജക്റ്റിനെ സുഗമമായി പിന്തുടരുന്നു.
- display.camera.shake(x, y): ഇംപാക്റ്റിനായി സ്ക്രീൻ ഷേക്ക് നൽകുന്നു.
- display.camera.setZoom(amount): വ്യൂ സ്കെയിൽ മാറ്റുന്നു.
Visual Effects
പാർട്ടിക്കിളുകൾ ഉപയോഗിച്ച് നിങ്ങളുടെ ഗെയിം കൂടുതൽ ആകർഷകമാക്കാം:
- move.particles.explosion(ps, x, y, count): ഒരു സ്ഫോടനം (burst) സൃഷ്ടിക്കുന്നു.
- move.particles.smoke(ps, x, y): പുകയുടെ ഒരു കുതിപ്പ് സൃഷ്ടിക്കുന്നു.
- move.particles.magic(ps, x, y): വർണ്ണാഭമായ റൊട്ടേറ്റിംഗ് ഇഫക്റ്റുകൾ സൃഷ്ടിക്കുന്നു.
Source: https://dev.to/kehinde_owolabi_e2e54567a/limn-engine-complete-api-reference-1acj