رفتن به مطلب
  • 0

جابه جایی پنل با دست


vahid_d_0101

سوال

با سلام

یه کاری میواستم با بسیک 4 اندرویید بکنم میخواستم ببینم ایا میشه

من میخوام یه پنل را وقتی کاربر روش کلیک کرد و حرکتش داد جابه جا بشه واگه به ایمیچ ویوی که میخوام رسید پنل Panel1.Visible = false بشه

و اگر به اون ایمیچ ویو نرسید و کاربر دستش را از روی پنل برداشت پنل به جای اوی خودش برگرده ؟

ایا راهی داره ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ارسال‌های توصیه شده

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اقا اون سورس میاد یه اکتیویتی دیگه میسازه و جه به جاش میکنه

کار خیلی پیچیده هست نگاه کنید

من میخوام یه پنل را جابه جا کنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

*monkey**monkey**monkey**monkey**monkey**monkey**monkey**monkey**monkey**monkey**monkey**monkey*

این چی بود دقیقا؟؟

یک امتیاز منفی!

اسپم نده بار دیگه تکرار بشه برخورد میشه.

اگه سوال دارید بپرسید ورگرنه اسپم ندید.*give_rose*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

از سورسی که مهران محمودی عزیز قرار دادن استفاده کنید *r24*

http://answercenter.ir/thread121.html

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اقا این ربطی نداشت

من میخوام پنل که لمس شد بتونیم حرکتش بدیم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اقا این ربطی نداشت

من میخوام پنل که لمس شد بتونیم حرکتش بدیم

بنده که دو تا نمونه سورس واسه شما گذاشتم

مطمئن باشید 1 روز روش کار کنید و 4 تا آزمون خطا انجام بدید خودتون کامل میفهمید چی به چیه و یکی بهترشو هم مینویسید

نظر من اینه که منتظر نباشید که دقیقا کدی که میخواهید رو یک نفر بیاد بده *fekr*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اخه ون سورسی که شما گذاشتید با این کار کلا فرق داره

اون داره یه اکتیویتی دیگه درست میکنه و حرکت میده

میگیرید چی میگم

اول برنامه یه اکتیویتی درست میکنه که داخل اون اکتیویتی چیزایی که میخواد را میزاره و بعد اونو حرکت میده

حرکت دادن و برگشت سر جاش خیلی خوبه

ولی من هرکاریکردم نتونستم همین کار را روی پنل انجلم بدم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

وحید جان من یه جواریی اون چیزی که میخوای رو نوشتم.

سه تا پنل روی اکتیویتی قرار داره که رو هرکدوم لمس کنیم BringToFront میشه ، یعنی میاد روی همه پنل ها و اگه اون رو حرکت بدی همراه با دست حرکت میکنه.

اما بدی ای داره اینه که روی خود پنل اگه لمس کنی پنل رو حرکت نمیده و باید روی خود فضای اکتیویتی دستتو بذاری تا اونو حرکت بده و خود پنل میاد رو دستت قرار میگیره.

دلیل جواب ندادن بنده هم همین بود.

یادته اون سورس قبلی یک پنل وجود داشت که وقتی روش لمس میکردیم میتونستیم حرکتش بدیم و نیازی به لمس کردن به فاضای اکتیویتی نبود و با همون لمس روی پنل حرکت میکرد.

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

پشت پنل هم که اکیتیویی بود و ما برای رویدادactivity_toch نوشته بودیم که پنل حرکت کنه.

پس اینو بگم که این سورس جدید این جوری نیست و باید روی یکی از پنل ها لمس کنی و بعد دستت رو بذاری روی فضای اکتیویتی و حرکت بدی تا پنل با دستت بیاد.

حالا توضیحی در مورد این سورس:

3تا پنل قرار دادم روی اکتیویتی . یک کتغیر تعریف کردم از نوع int:

Dim h As Int

حالا در رویداد تاچ(لمس کردن) هر کدوم از پنل ها اینو نوشتم:

Sub Panel1_Touch (Action As Int, X As Float, Y As Float)
   h=1
       Panel1.BringToFront
End Sub
Sub Panel2_Touch (Action As Int, X As Float, Y As Float)
   h=2
       Panel2.BringToFront
End Sub
Sub Panel3_Touch (Action As Int, X As Float, Y As Float)
   h=3
   Panel3.BringToFront
End Sub

برای مثال گفتم وقتی روی پنل 1 لمس شد h رو مساوی 1 قرار بده. اینو واسه این انجام دادم که بتونیم واسه رویداد لمس اکتیویتی شرط بذاریم که کدوم پنل کلیک شده بود که همون رو حرکت بده.

و بعد خط بعدی گفتم bringToFront بکنه. یعنی اگه این پنل پشت یه پنل دیگه قرار داره اونو بیاره روش.

و برای بقیه هم همینکارو کردم.

بعد موقع رویداد لمس اکتیویتی:

Sub Activity_Touch (Action As Int, X As Float, Y As Float)
Select Case h
Case 1
   Panel1.Left=X-70
   Panel1.Top=Y-48
   Case 2
   Panel2.Left=X-70
   Panel2.Top=Y-48
   Case 3
   Panel3.Left=X-70
   Panel3.Top=Y-48
   End Select
End Sub

با دستور select case شرط گذاشتم که اگه h=1 بود پس یعنی رو یک لمس شده ، و پنل1 رو حرکت بده. اگه 2بود 2 ، و ...

همونطور که دیدی من از رویداد تاچ این پنل ها استفاده کردم پس واسه همین نمیشه با گذاشتن انگشت روی خود پنل اینو حرکت داد و باید روی اکتیویتی لمس کنیم.

اما اگه دوستان راهی تونستن پیدا کنن حتما بگن ، خودمم بازهم روش کار میکنم.

ولی پیشنهاد من: دوتا باتون بعد و قبلی پایین برنامت قرار بده و با استفاده از اونا کاربر مشخص کنه که کدوم پنل حرکت کنه ، یعنی سوژه ما کدوم پنل باشه ، با اینکار دیگه از رویداد تاچ پنل ها استفاده نمیکنیم و میشه با لمس اونا حرکتشون داد.

سورس هم پیوست شد.

move2.zip

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اقا این ربطی نداشت

من میخوام پنل که لمس شد بتونیم حرکتش بدیم

ایول داری *r24*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برای جابه جای پنل با چندتا لابیری مبشه کار کرد که من ساده ترینشو بهت میگم

تیک کتابخونه Dragable رو بزن وبه برنامت معرفی کن

بعد تو Activity_Create

اینشیالیز کن

آرگومان اول که اکتیویتی مینویسی

آرگومان دومم اسم پنل یا هر چیزی که میخای با دست حرکتش بدی

قسمت دوم سوالتو الان چیزی به ذهنم نمیرسه (ولی فک کنم چیزی سختی نباشه)

قسمت سوم سوالتم باید با انیمیشن میشه ولی اینکه کاربر تکونش بده بعد ول کرد بیاد سرجاش :S

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خیلی خیلی ممنون بابت راهنمایی تا اینجا را کار میکنم مشکلی بود میگم اگه برای باقیش هم چیزی به ذهنتون رسید بهم بگید

تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برا تشخیص اینکه به هم میخورن میتونی از موقعیت مکانیشون استفاده کنی از top و left البته چیزیه که الان اومد به ذهنم شاید راههای بهتریم باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام. کتابخونه ای نیاز نیست خیلی راحت میشه با تاچ تشخیص داد.

من چند روز پیش همین به فکرم رسید که بتونم با لمس پنل رو جابه جا کنم . واسه خودم تست کردم دیدم نتیجه داد خیلی هم چیز جالبی شد. :D

سورسش هم گذاشتم یه گوشه که نیاز باشه . چیز سختی هم نیست.

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

پیوست شد.

move.zip

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تشکر فراوان

ولی من میخوام وقتی روی کنترل کلیک کردن این اتفاق بیفته

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تشکر فراوان

ولی من میخوام وقتی روی کنترل کلیک کردن این اتفاق بیفته

http://answercenter.ir/thread2645.html#post16637

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...