تعداد بازدید 7
|
نویسنده |
پیام |
behzad
ارسالها : 34
عضویت: 14 /10 /1391
تشکرها : 1
تشکر شده : 5
|
اموزش papervision
Interactivity
برای ایجاد تعامل فعال بین کاربر و محیط سه بعدی باید از کلاس InteractiveScene3DEvent استفاده کنیم. من در این جا از سورس arjmand200 که تو پست های اولش گذاشته بود استفاده می کنم . توی این سورس ما یک کره در حال گردش می بینیم. حالا می خواهیم وقتی کاربر روی کره کلیک کرد در پانل output یک چیزی نوشته بشه.
در ابتدا باید کلاس InteractiveScene3DEvent رو اضافه کنیم:
import org.papervision3d.events.InteractiveScene3DEvent;
بعد از اون باید interactive متریالی که برای کره استفاده کردیم رو فعال کنیم. برای این کار بعد از تعریف متریال این کد رو اضافه می کنیم:
matrial_bmp.interactive = true;
قدم بعدی اضافه کردن EventListener (که من اون رو گوش دهنده ی رخداد ترجمه می کنم) به کره هست. EventListener دو پارامتر می گیره که اولی نوع رخداد مورد انتظار و دومی تابعی هست که با روی دادن رخداد باید اجرا بشه.
بنابراین بعد از افزودن کره به scene ، کد زیر رو اضافه می کنیم:
sphere.addEventListener( InteractiveScene3DEvent.OBJECT_PRESS, press );
همانطور که می بینید من تابع press رو به عنوان پارامتر دوم معرفی کردم. حالا باید این تابع رو اضافه بکنیم:
function press(e:InteractiveScene3DEvent){
trace("sphere");
}
حالا هر موقع روی کره کلیک کنیم کلمه sphere در پانل output نوشته می شه.
|
|
سه شنبه 29 اسفند 1391 - 21:36 |
|
تشکر شده: |
|
|
برای ارسال پاسخ ابتدا باید لوگین یا ثبت نام کنید.