«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
حل اشکال مربوط به استفاده از کد OnPointerDown.AddListener در یونیتی_ رفع خطای AddListener :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

قدیمیا دلم براتون تنگ شده... فقط معرفی کنید توی پیامک یا تماس یاد بیارید.
اگه جواب ندادم شاید موقعیت نداشته باشم.
بگید توی پیام از بچه های پرومیکرز هستید.

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

gameover.blog.ir

دوستان یک خطایی رو برای ما ارسال کردند و گفتند رفع اشکال کنید:

http://s8.picofile.com/file/8269334684/OnPinterDownAddListenerErr.jpg



پاسخ:

برای رویداد متد OnClick از کلاس Button یا .... می تونستیم از متد AddListener برای اضافه کردن یک تابع برای گوش دادن به دستور کلیک و اجرای کد دلخواهمون بسازیم.

اما در بعضی ورژن های یونیتی متد AddListener برای ساب کلاس OnPointerDown تعریف نشده و کد زیر مجاز نیست (دچار خطا میشه):

Preview (hint: you can copy and paste the preview into Microsoft Word):

public Button btn1;
void Start() {
btn1.OnPointerDown.AddListener(
()=>{  }
)

برای رفع اشکال از روش قدیمی استفاده می کنیم و از رویدادی مثل کد زیر استفاده می کنیم:
using UnityEngine;
    using UnityEngine.EventSystems;
    public class BT : MonoBehaviour, IPointerDownHandler
    {
    public void OnPointerDown(PointerEventData data)
    {
    }
    }


نکته : در ورژن های جدید یونیتی کامپوننت Event Trigger می دیم و همونجا می تونیم رویداد دلخواه و تابعی که می خوایم به محض وقوع اون رویداد مثلا کلیک یا نگه داشتن لمس و رها نکردن رخ بده رو از زیر شاخه اسکریپت بعد از اختصاص گیم ابجکت مربوط به لیست،انتخاب می کنیم(حتما تابع هم باید public باشه ویلا تو لیست نمیاد)

مثلا برای کد دادن به image کامپوننت Event trigger + Event system بهش می دیم. سپس اسکریپتی می سازیم و تابعی حتما از نوع public توش باید باشه که اونو به event trigger میدیم. به این صورت که اول اسکریپت رو به شی می دیم سپس شی رو می کشیم روی event trigger و بعدش تابع مربوط رو از زیر شاخه ی اسکیپت مربوط انتخاب می کنیم




موافقین ۰ مخالفین ۰ ۹۵/۰۷/۱۱
مدیرکل

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی