View Full Version : سوال: تشخیص جسمی که بر روی ان کلیک شده
m_basij
پنج شنبه 16 تیر 1390, 20:09 عصر
من یک سوال اساسی دارم اونم اینه که چجوری تشخیص بدیم که روی چه جسمی کلیک شده یا ساده ترش مثلا یک محیط مثل اینتر نت اکسپلورر می خواهیم طراحی کنیم خوب با اپن جی ال صفحه رو ترسیم می کنیم ولی اگه قرار باشه جایی تکست باکس باشه و بشه توش بنویسی باید تشخیص بدیم که الان روی چی کلیک کرده کاربر.
دومین سوالم اینه که ایا راهی هست که یک صفحه ای که ترسیم مشه روش چیزی رو کشید ( مثلا با راست کلیک موس منویی ظاهر بشه و وقتی کلیک چپ جایی کرد نخواهی کل صفحه رو دو باره ترسیم کنی)
سوم اینکه چجوری نوشته ها رو نمایش بدم؟( انگلیسی راحت است تبدیلشون می کنم به عکی و میارم ولی فارسی بدلیل متصل بودن کلمات کار رو سخت کرده می خواهم ببینم کار اصولی چی هست
در ضمن با c++ و open gl هم کار می کنم
pswin.pooya
پنج شنبه 16 تیر 1390, 20:51 عصر
هر کدوم از این موردها که گفتی خودش یه چالشه.
من یک سوال اساسی دارم اونم اینه که چجوری تشخیص بدیم که روی چه جسمی کلیک شده یا ساده ترش مثلا یک محیط مثل اینتر نت اکسپلورر می خواهیم طراحی کنیم خوب با اپن جی ال صفحه رو ترسیم می کنیم ولی اگه قرار باشه جایی تکست باکس باشه و بشه توش بنویسی باید تشخیص بدیم که الان روی چی کلیک کرده کاربر.
در مورد کلیک اگر صحنه سه بعدی نباشه راحته فقط کافیه مختصات کلیک شده رو با مختصات شی خودت بررسی کنی اگر هم اشیاء پیچیده داره میتونی از بافر انتخاب استفاده کنی:(این بافر برای 3D هم جواب میده منتها توی ویرایش ۲ به بعد از OpenGL حذف شده.)
http://www.lighthouse3d.com/opengl/picking
دومین سوالم اینه که ایا راهی هست که یک صفحه ای که ترسیم مشه روش چیزی رو کشید ( مثلا با راست کلیک موس منویی ظاهر بشه و وقتی کلیک چپ جایی کرد نخواهی کل صفحه رو دو باره ترسیم کنی)
بله. فقط کافیه صفحه قبلی رو پاک نکنی اون موقع میتونی روی همون صفحه بکشی. منتها اینکار به شدت دردسر داره.
سوم اینکه چجوری نوشته ها رو نمایش بدم؟( انگلیسی راحت است تبدیلشون می کنم به عکی و میارم ولی فارسی بدلیل متصل بودن کلمات کار رو سخت کرده می خواهم ببینم کار اصولی چی هست
فکر منطورت از عکس تکسچر هست! ببرای اینکار باید تک تک حروف رو چک کنی و ببینی قبل و بعد اون چیه و بعدش ترسیمش کنی. داخل کد KGE روتین اینکار هست.
m_basij
پنج شنبه 16 تیر 1390, 22:44 عصر
ممنون.
در مورد اول من هم همین کار را کردم (با چک کردن نقاط ورتکس مدل) ( هم در حالت دو بعدی و هم سه بعدی چون نرم افزاری که دارم می نویسم دوبعدی و سه بعدی را با هم داره) ولی وقتی بحث تعداد زیادی مدل میشه که هر مدلی چندین ورتکس داره اونوقت چک کردن هم چین چیزی مهم میشه که از یک الگوریتم خوب استفاده کنی بخصوص اینکه قرار باشه کاربرای نرم افزار بتون فایل هایی در قالب متن بنویسند که حالا توسط نرم افزار قرار باشه اجرا بشه و از قبل نتونن نتیجه ای را موقع اجرا ببینن و باید با کد طراحی کنند.
میشه مورد دوم رو کمی باز کنید.
کدوم کلاس kge ؟
pswin.pooya
پنج شنبه 16 تیر 1390, 23:04 عصر
هم در حالت دو بعدی و هم سه بعدی چون نرم افزاری که دارم می نویسم دوبعدی و سه بعدی را با هم داره
برای سه بعدی n تا راه وجود داره از رندر کردن توی یه تکسچر و خودندن اون گرفته تا روشهای مثل RayPicking راهترین راه همونی هست که لینکش رو بهت دادم.
کدوم کلاس kge ؟
source/gui/Text.cpp
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.