گرفتن عکس از URL توسط اسپرایت
#1
سلام دوستان ،
شاید با دیدن این تیتر عصبانی بشید که چرا این موضوع به این سادگی که به کرات سوال شده رو پرسیدم اما صبر کنید ، موضوع من تنها دریافت عکس نیست . من چند کپی از یک اسپرایت دارم که میخوام هرکدوم یک عکس رو بگیرن و نشون بدن . اما وقتی کد رو بهشون میدم یک تصویر دریافت میشه و روی همه نمایش داده میشه ، درواقع نمیتونه بگه هر کپی یه لینک بگیره حتی با اینکه پیک کردمشون . حالا در اپ های خبری که دوستان ساختن این یکی از ملازماته . پس ممنون میشم راهنمایی کنید این مشکل چطوری حل میشه . 

حتما هم باید پیک رو با IID بگم . نمیشه فریم بدم چون کلا 1 فریمه .
استودیو بازیسازی ایروید
جدید ترین ها : شهرزاد ، دربند;1357 و ATOM
[تصویر:  ads.gif]
  پاسخ


 سپاس شده توسط: Amirhesam.KH
#2
(1399/7/12، 10:58 عصر)محمد 82 نوشته است: سلام دوستان ،
شاید با دیدن این تیتر عصبانی بشید که چرا این موضوع به این سادگی که به کرات سوال شده رو پرسیدم اما صبر کنید ، موضوع من تنها دریافت عکس نیست . من چند کپی از یک اسپرایت دارم که میخوام هرکدوم یک عکس رو بگیرن و نشون بدن . اما وقتی کد رو بهشون میدم یک تصویر دریافت میشه و روی همه نمایش داده میشه ، درواقع نمیتونه بگه هر کپی یه لینک بگیره حتی با اینکه پیک کردمشون . حالا در اپ های خبری که دوستان ساختن این یکی از ملازماته . پس ممنون میشم راهنمایی کنید این مشکل چطوری حل میشه . 
حتما هم باید پیک رو با IID بگم . نمیشه فریم بدم چون کلا 1 فریمه .
سلام؛
علت اینکه بعد از اعمال اکشن Load Image From URL تمامی نسخه های موجود از اسپرایت دستخوش تغییر میشن اینه که این اکشن با اینکه براساس UID پیش میریم اما ذات عملکردش براساس فریم هست و چون در کل اسپرایت ها سر و کارمون با یک فریم هست همه شون دستخوش تغییر میشن.
برای حل مشکل کافیه برای اسپرایت اولیه ای که ساختین و از روش کپی گرفتین دو فریم تعریف کنین. این شکلی همه اسپرایت هایی که دارین دو فریم خواهند داشت. حالا هر وقت لازم داشتیم یک UID خاص از اسپرایت از یک لینک یک تصویری رو دریافت کنه از مود  embed تابع manage-pics و هر وقت که لازم بود یک UID خاص از اسپرایت مقدارش به حالت اولیه برگرده از مود  reset تابع استفاده می کنیم.
[تصویر:  69e5cc2263b24746ee88f8619830cf2d.png?trs...c148cf0e26]
(اگر تصویر لود نمیشه کلیک کنید.)
خُب همونطور که مشخصه در اولین ایونت به کمک یک حلقه For Each تک تک UID های مربوط به شیء اسپرایت رو استخراج کردیم و توی یک متغیر متنی به نام  uids ذخیره کردیم. بین هر یک از UID ها با خط تیره تمایز ایجاد کردیم تا توی تفکیک و تشخیص شون دچار مشکل خاصی نشیم.
ایونت های دوم تا هشتم با تابع manage-pics مرتبط هستن. تابع یاد شده سه پارامتر رو به عنوان ورودی (آرگومان) قبول میکنه که عبارت هستن از:
کد:
پارامتر 0 => شماره یونیک آیدی موردنظر
پارامتر 1 => لینک تصویر موردنظر
پارامتر 2 => تنظیم مود (حالت) عملکرد تابع
در ایونت سوم صرفاً یک بررسی ساده انجام میدیم و بررسی میکنیم که آیا UID که به عنوان ورودی شماره صفر تابع بهش پاس داده شده معتبره یا خیر. 
در ایونت های چهارم تا هشتم اتفاقاتی که قراره بعد از تشخیص معتبر بودن UID بیفتن رو مشخص کردیم. برای هر مود تابع (ریست یا امبد) یک فریم خاص رو اختصاص دادیم.
در نهایت در ایونت نهم میگیم که با کلیک بر روی باتنی که در پروژه تعریف کردیم تابع برای بار اول با مود امبد اجرا بشه. ابتدا از یک لینک مشخص برای اسپرایتی که UID اش یک هست تصویر رو دریافت کنه. بعد هم با فراخوانی مجدد تابع اما این بار با مود ریست گفتیم بعد از یک ثانیه مکث اسپرایت ریست بشه و به حالت اولیه خودش در بیاد.
سورس ایونت های بالا رو میتونین از اینجا دانلود کنین.
موفق باشین.
غایب
  پاسخ


 سپاس شده توسط: محمد 82 ، Amirhesam.KH
#3
ممنون اما یه سوال . شایدمن بخوام 50 تا تصویر مختلف بارگیری کنم . همه 50 تا توی فریم 1 هر اسپرایت میرن یا بازم یکی میشن ؟ 
استودیو بازیسازی ایروید
جدید ترین ها : شهرزاد ، دربند;1357 و ATOM
[تصویر:  ads.gif]
  پاسخ


 سپاس شده توسط:
#4
(1399/7/13، 01:41 صبح)محمد 82 نوشته است: ممنون اما یه سوال . شایدمن بخوام 50 تا تصویر مختلف بارگیری کنم . همه 50 تا توی فریم 1 هر اسپرایت میرن یا بازم یکی میشن ؟ 
سلام دوباره؛
چیزی که پیاده کردم به طور بالقوه یه سری مشکلاتی داره و بهتره از خیرش بگذریم.
شما به جای اسپرایت از Tiled Background یا حتی یک باتن میتونین استفاده کنین (البته در این صورت باید از CSS کمک بگیرین) و تصاویر متعدد خودتون رو وارد پروژه کنین.
 
غایب
  پاسخ


 سپاس شده توسط: محمد 82
#5
ممنون . همون اسپرایت رو گذاشتم و 50 فریم خالی بهش دادم (گه حجم نگیره) و بعد هم گفتم هر فریمش یدونه عکس دانلود کنه چون کلا 50 تا عکس میخواستم
استودیو بازیسازی ایروید
جدید ترین ها : شهرزاد ، دربند;1357 و ATOM
[تصویر:  ads.gif]
  پاسخ


 سپاس شده توسط:
#6
سلام
بله من هم در برنامه خودم از همین روش استفاده کردم
هر چند خب برای ورود اخبار باید از یه ایونت لوپ استفاده میکردم و این کار منو خیلی راحت میکرد
 
  پاسخ


 سپاس شده توسط: محمد 82


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 177 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,596 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: