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

کشیدن انگشت روی باتون ها


vistamobile

سوال

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

 

 

 

Untitled.jpg

 

 

 

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

:write:  :write:  :write:  :gol:  :gol:  :gol:

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

11 پاسخ به این سوال تاکنون داده شده است

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

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

شاید راهنمایتون کنه

mahd

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

در 13 ساعت قبل، vistamobile گفته است :

سلام. بلاخره موفق شدم. الان یه مشکل جدید دارم. تند تند کلیک میشه!!!

یعنی یکبار انگشت میکشم رو باتون بیشتر از بیست بار حرف رو وارد میکنه. 

سلام 

الحمدلله مشکلتان حل شده 

ولی برای این مشکل هم میتونید یک شرط بگذارید که اگر باتن تکراری نبود ، با لمس یک متغییر عددی یکی یکی اضافه بشه واگر مقدارش یک بود فلان کار رو انجام بده و حرف موردنظر رو اد کنه وگرنه هیچ کاری انجام نده 

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

پس بنابراین یک متغییر هم برای تشخیص تکراری نبودن باتن باید تعریف کنید 

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

در 14 ساعت قبل، vistamobile گفته است :

سلام. بلاخره موفق شدم. الان یه مشکل جدید دارم. تند تند کلیک میشه!!!

یعنی یکبار انگشت میکشم رو باتون بیشتر از بیست بار حرف رو وارد میکنه. 

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

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

در 8 ساعت قبل، نورنما گفته است :

سلام 

الحمدلله مشکلتان حل شده 

ولی برای این مشکل هم میتونید یک شرط بگذارید که اگر باتن تکراری نبود ، با لمس یک متغییر عددی یکی یکی اضافه بشه واگر مقدارش یک بود فلان کار رو انجام بده و حرف موردنظر رو اد کنه وگرنه هیچ کاری انجام نده 

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

پس بنابراین یک متغییر هم برای تشخیص تکراری نبودن باتن باید تعریف کنید 

داداش همین کارو کردم ولی پیچیده شد کار. پس اومدم تحریمها رو دور زدم. با اولین لمس مقدار تکست باتون رو ریختم تو ادیت تکست و بعدش فوری مقدار باتون رو "" کردم تا هیچی نداشته باشه. ادیت تکست رو هم رو حالت بررسی گذاشتم تا در لحظه متن صحیح رو بررسی کنه. الان واسه پنل دارم شرط میزارم اگر انگشت رو برداشتم (up) بیاد مقدار باتون ها رو برگردونه. :blush:

 

در 7 ساعت قبل، میلاد گفته است :

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

داداش دارم روش کار میکنم. بزار آماده بشه چشم. :viannen_44:

 

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

سلام.

دوستان من هم الان می خوام این  کار رو انجام بدم اما متاسفانه نمی تونم .

لطفا یکی که بلده بگذاره ماهم استفاده کنیم .

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

داداش خیلی سعی کردم نشد. تو ایکلیپس خیلی ساده دوستان انجام دادن ولی با بیسیک کسی هنوز تلاشی ننموده!! خدایش یکی از دوستان میتونه کمک کنه. خودم یه سورس ثفل کشیدنی داشتم (پترن) نیست!!

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

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

که با کتابخونه Gesture  میشه انجام داد.

 

خب بزار کل روال کارو بهت بگم تا خیالت راحت بشه

یک پنل میسازیم و تمامی دکمه هارو توی اون پنل قرار میدیم.

مثلا 5 تا دکمه داریم و توی پنل قرار میدیم و توی کدنویسی اضافشون میکنیم و کتابخونه Gesture  رو فعال میکنیم و یک متغییر ازش تعریف می کنیم و یک متغییر انیتجر هم تعریف میکنیم در ادامه کار لازمش داریم:

Sub Globals
  Dim g As Gestures
  Dim id As Int
  Private b1 As Button
  Private b2 As Button
  Private b3 As Button
  Private b4 As Button
  Private b5 As Button
  Private mainPanel As Panel
End Sub

خب میریم واسه اینیشیالیز کردن و کارهایی که قراره توی Activity_Create  انجام بدیم :

Sub Activity_Create(FirstTime As Boolean)
  Activity.LoadLayout("touch")
  g.SetOnTouchListener(mainPanel,"mainPanel_Touch")
  mainPanel.Color = Colors.Transparent
End Sub

خب مرحله بعدی میریم رویداد mainPanel_Touch ایجاد میکنیم :

Sub mainPanel_Touch(View As Object, PointerID As Int, Action As Int, X As Float, Y As Float) As Boolean

 Dim ix, iy As Int
 For i = 0 To g.GetPointerCount-1
   id = g.GetPointerID(i)
   ix = g.GetX(id)
   iy = g.GetY(id)


   If ix > b1.Left AND ix < b1.Left + b1.Width AND iy > b1.Top AND iy < b1.Top + b1.Height Then

    Else If ix > b2.Left AND ix < b2.Left + b2.Width AND iy > b2.Top AND iy < b2.Top + b2.Height Then


    Else If ix > b3.Left AND ix < b3.Left + b3.Width AND iy > b3.Top AND iy < b3.Top + b3.Height Then


    Else If ix > b4.Left AND ix < b4.Left + b4.Width AND iy > b4.Top AND iy < b4.Top + b4.Height Then


    Else If ix > b5.Left AND ix < b5.Left + b5.Width AND iy > b5.Top AND iy < b5.Top + b5.Height Then

   End If
  Next
  Return True
End Sub

خب حالا زمانی که روی هر دکمه تاچ شد میتونی یکاری رو انجام بدی که میتونی بین شرط هایی که قرار دادیم بنویسی کد مورد نظرتو.

میتونی Action  رو هم با Select Case  کنترل کنی که MOve  شد یا  Down  یا Up شد.یعنی دستمون حرکت دادیم روی دکمه ها یا موقعی دکمه رو کلیک می کنیم و رویداد Down  انجام میشه و دستمون رو که از روش بر میداریم رویداد Up  انجام میشه که ادامش با خودت.

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

 

خب حالا زمانی که روی هر دکمه تاچ شد میتونی یکاری رو انجام بدی که میتونی بین شرط هایی که قرار دادیم بنویسی کد مورد نظرتو.

میتونی Action  رو هم با Select Case  کنترل کنی که MOve  شد یا  Down  یا Up شد.یعنی دستمون حرکت دادیم روی دکمه ها یا موقعی دکمه رو کلیک می کنیم و رویداد Down  انجام میشه و دستمون رو که از روش بر میداریم رویداد Up  انجام میشه که ادامش با خودت.

داداش نمیدونم چه دستوری بنویسم  :'(  :'(  کلا تو کد شرطها موندم!! الان مثلا چجوری بگم b1 متصل شه به b2??

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

ببین شما میتونی با کتبخونه  Gesture  تاچ رو کنترل کنی  من تا بحال این کارو انجام ندادم ولی میتونی تصاویرتو داخل یک پنل بذاری و مختصات رو موقع بار گذاری ذخیره کنی و در رویداد تاچ بگی اگه x و y وارد محدوده تصویرت شد خو خط بینشون رو visible = true کنه

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

در در 1394/05/05, 01:30:15، مجید آرتا گفته است :

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

 

میتونی Action  رو هم با Select Case  کنترل کنی که MOve  شد یا  Down  یا Up شد.یعنی دستمون حرکت دادیم روی دکمه ها یا موقعی دکمه رو کلیک می کنیم و رویداد Down  انجام میشه و دستمون رو که از روش بر میداریم رویداد Up  انجام میشه که ادامش با خودت.

سلام. بلاخره موفق شدم. الان یه مشکل جدید دارم. تند تند کلیک میشه!!!

یعنی یکبار انگشت میکشم رو باتون بیشتر از بیست بار حرف رو وارد میکنه. 

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

بایگانی شده

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

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

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