# أصول الألعاب على PlayDrop: ملفات مضمّنة وأصول مملوكة وباقات مشتركة

أضف الصور والصوت والفيديو والنماذج ثلاثية الأبعاد إلى لعبة PlayDrop: ملفات مضمّنة وأصول تملكها اللعبة وأصول وباقات عامة، والبحث عنها أثناء التشغيل عبر sdk.assets.

Source: https://www.playdrop.ai/ar/create/learn/game-assets

يمكن للعبة أن تحمل رسومها وأصواتها بثلاث طرق. اختر أبسطها التي تلبي حاجتك.

| الطريقة | مناسبة لـ | الكيفية |
|---|---|---|
| ملفات مضمّنة | كل ما تستخدمه اللعبة وحدها | ضعها في الحزمة وحمّلها بمسار نسبي |
| أصول تملكها اللعبة | أصول تريد إدراجها على PlayDrop أو إعادة استخدامها أو بيعها | صرّح بها في `ownedAssets` |
| أصول وباقات عامة | إعادة استخدام أصول نشرها مبدعون آخرون | أشر إليها في `uses` |

## الملفات المضمّنة

ضع الملفات بجوار اللعبة وحمّلها بمسارات نسبية، مثل `assets/music.mp3`. تُرفع مع [الحزمة](https://www.playdrop.ai/ar/create/learn/packaging) ويخزّنها المتصفح والتطبيقات مؤقتًا. أدرج الملفات اللازمة للبدء في `prefetch.required` لتتمكن التطبيقات من تنزيلها مبكرًا ([دورة الحياة](https://www.playdrop.ai/ar/create/learn/lifecycle)). أما لعبة HTML البسيطة فيجب أن تضمّن أصولها داخل الملف بدلًا من ذلك.

## الأصول التي تملكها اللعبة

صرّح بالأصول التي تملكها اللعبة في مدخلها في الكتالوج. يصبح كل منها أصلًا على PlayDrop له صفحته الخاصة، مرتبطًا بهذه اللعبة:

```json
{
  "ownedAssets": [
    { "name": "moon-theme", "runtimeKey": "music.main", "displayName": "Moon theme",
      "category": "AUDIO", "files": { "primary": "assets/moon-theme.mp3" } },
    { "name": "astronaut", "runtimeKey": "sprites.player", "displayName": "Astronaut",
      "category": "SPRITESHEET", "files": { "atlas": "assets/astronaut.png", "manifest": "assets/astronaut.json" } }
  ]
}
```

- قيمة `category` هي `IMAGE` أو `VIDEO` أو `AUDIO` أو `SPRITESHEET` أو `MODEL_3D` أو `CUSTOM`؛ ويحدد `subcategory` و`format` النوع بدقة أكبر.
- يربط `files` الأدوار بالمسارات. يحتاج الصوت إلى `primary`؛ وتحتاج أوراق الرسوم المتحركة إلى `atlas` و`manifest`.
- `runtimeKey` هو الاسم الذي تستخدمه اللعبة للعثور على الأصل أثناء التشغيل.
- اختياري: `visibility` و`license` و`tags`، و`shopListed` مع `shopPriceCredits` لبيعه.

## الأصول والباقات العامة

أشر إلى الأصول المنشورة بنسخة محددة، وإلى باقات الأصول بإصدارها:

```json
{
  "uses": {
    "assets": [{ "ref": "asset:someone/forest-tiles@r3", "runtimeKey": "tiles.forest" }],
    "packs": ["pack:someone/ui-kit@1.2.0"]
  }
}
```

تصفّحها في [أصول PlayDrop](https://www.playdrop.ai/assets) أو باستخدام `sdk.assets.catalog.listPublic()` و`sdk.assets.packs.listPublic()` و`sdk.search.query()`. لا يمكن للعبة العامة أن تستخدم إلا الأصول والباقات العامة؛ واحترم ترخيص كل أصل.

## اعثر على الأصول أثناء التشغيل

```js
const music = sdk.assets.resolveAppAsset("music.main");
const file = music.files.find((entry) => entry.role === "primary");
audioElement.src = file.url;

for (const asset of sdk.assets.listAppAssets()) console.log(asset.runtimeKey, asset.sourceType);
```

تحتوي كل نتيجة على `assetRef` و`runtimeKey` و`sourceType` (`OWNED` أو `DIRECT` أو `PACK`) و`files` مع `role` و`url` و`contentType` و`sizeBytes`.

## ما يقبله الموصّل

يستطيع تطبيق الذكاء الاصطناعي لديك رفع الصور والفيديو والصوت وأوراق الرسوم المتحركة والنماذج ثلاثية الأبعاد المحوّلة مسبقًا إلى صيغة ثابتة، بما فيها الصور وأوراق الرسوم المتحركة الإجرائية بعد تحويلها. تعمل النماذج ثلاثية الأبعاد القابلة للتنفيذ (`MODEL_3D` ذات الفئة الفرعية `procedural` أو الصيغة `CUSTOM`) في أدوات PlayDrop الخاصة، لكن الموصّل يرفضها، لأن الواجهة البرمجية لا تشغّل كود المبدعين للتحقق منها. حوّلها مسبقًا إلى صيغة قياسية مثل GLB، أو أشر إلى إصدار منشور بالفعل على PlayDrop.

اصنع رسومًا وأصواتًا جديدة باستخدام [إنشاء الأصول بالذكاء الاصطناعي](https://www.playdrop.ai/ar/create/learn/ai-assets). وللصيغ التي لا يعرفها PlayDrop، راجع [صيغ الأصول المخصصة](https://www.playdrop.ai/ar/create/learn/custom-assets).

## أدلة ذات صلة

- [إنشاء الأصول بالذكاء الاصطناعي](https://www.playdrop.ai/ar/create/learn/ai-assets): أنشئ صورًا وموسيقى وأصواتًا وكلامًا وفيديو ونماذج ثلاثية الأبعاد للعبة في PlayDrop، من المتصفح بتأكيد اللاعب أو من خادم يدفع تكلفته المبدع.
- [الصيغ المخصصة وإبداعات اللاعبين](https://www.playdrop.ai/ar/create/learn/custom-assets): عرّف صيغة أصول خاصة بك بمواصفة أصول، وصرّح بالصيغ التي تقرؤها اللعبة أو تكتبها، ودع اللاعبين يحفظون إبداعاتهم وينشرونها عبر sdk.assets.custom.
- [التحزيم و.play](https://www.playdrop.ai/ar/create/learn/packaging): نظّم مجلد لعبة مبنية أو ملف ZIP أو .play مع catalogue.json في جذره، وصرّح بوسائط صفحة اللعبة والخوادم، وارفعه باستخدام prepare_catalogue_upload.
