ورود

نسخه کامل مشاهده نسخه کامل : یه سوال مهم



arsess2012
28-04-2010, 20:09
سلام به همگی. من تقریبا تا حالا ویژوال بیسیک کار نکرده بودم، اما الآن باید یه پروژه آماده کنم.
دارم یه بازی شبیه بولینگ میسازم.
تو یه بخش باید به دایره حرکت رفت و برگشت داشته باشه.
حرکت رفتش رو بلدم اما نمیتونم برش گردنونم همون جا گیر میکنه.
-----------------------------------------------------------------------------------------------
ضمنا اگه یه هکچین پروژه انجام شده لینک بزارین ازشون استفاده کنم واسه اینکه راحت تر بنویسم.

arsess2012
29-04-2010, 11:42
راستی اگه میشه کد هر دکمه کیبورد رو هم بگین لطفا.
اگه هم نشد Enter به خصوص.

Mohsen.Sh_PC
29-04-2010, 15:44
راستی اگه میشه کد هر دکمه کیبورد رو هم بگین لطفا.

باید بری توی رویداد KeyDown فرم و از این دستورات استفاده کنی.

Select case keycode
case vbkeyA
دستورات
case vbkeyb
دستورات
end select

حالا به جای vbkeyA یا vbKeyB میتونی از هر کلیدی استفاده کنی
A-Z vbKeyA,vbKeyZ
0-9 vbKeyNumpad0-vbKeyNumPad9
F1-F12 vbKeyF1-vbKeyF2
Enter vbKeyReturn
Tab vbKeytab
Shift vbKeyShift




---------- Post added at 03:44 PM ---------- Previous post was at 03:40 PM ----------


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

باید بری توی رویداد KeyDown فرم و از این دستورات استفاده کنی.

Select case keycode
case vbkeyA
دستورات
case vbkeyb
دستورات
end select

حالا به جای vbkeyA یا vbKeyB میتونی از هر کلیدی استفاده کنی
A-Z vbKeyA,vbKeyZ
0-9 vbKeyNumpad0-vbKeyNumPad9
F1-F12 vbKeyF1-vbKeyF2
Enter vbKeyReturn
Tab vbKeytab
Shift vbKeyShift

arsess2012
29-04-2010, 16:20
در مورد حرکت رفت و برگشت کسی اطلاعی نداره؟؟؟؟؟
راستی یه سوال دیگه هم پیش اومد!!!
میخوام وقتی یه شکل از رو یه شکل دیگه رد میشه، دومی غیب بشه. یعنی visible false بشه.

Mohsen.Sh_PC
30-04-2010, 10:35
شما سورسی که نوشتید رو بزارید شاید بتونیم کمک کنیم.

arsess2012
30-04-2010, 14:48
من هنوز چیز خاصی ننوشتم، منو ها و یکم از شکل ها رو نوشتم.
چیزی که من میخوام که یه دایره حرکت رفت و برگشت داشته باشه.
آیا این درسته؟؟؟
Private Sub Timer1_Timer()
If Shape1.Top > 2040 Then
Shape1.Top = Shape1.Top - 50
If Shape1.Top = 2040 Then
Timer1.Enabled = False
Timer2.Enabled = True
End If
End If
End Sub
----------------------------------------------------------------------------------------------------------------------
Private Sub Timer2_Timer()
If Shape1.Top < 6600 Then
Shape1.Top = Shape1.Top + 50
End If
If Shape1.Top = 6600 Then
Timer2.Enabled = False
Timer1.Enabled = True
End If
End Sub

arsess2012
01-05-2010, 15:44
کسی بلد نیست؟؟؟؟؟؟؟؟؟؟؟؟؟
چه جوری میشه که شرطی که میزاریم در تمام طول برنامه همش چک بشه؟؟؟؟؟؟؟؟؟

M i L @ D
01-05-2010, 18:19
کسی بلد نیست؟؟؟؟؟؟؟؟؟؟؟؟؟
چه جوری میشه که شرطی که میزاریم در تمام طول برنامه همش چک بشه؟؟؟؟؟؟؟؟؟

خب اولی رو که نمیشه گفت بلد نیستیم ولی حوصله میخواد ، اگه تا فردا صبر کنید یه کاریش میکنم ! ( الان سرما خوردم ، نمیتونم زیاد فکر کنم )

---

سوال دوم هم که با استفاده از Timer میشه هرثانیه یک بار کدی را که نوشتید اجرا کند ... فقط Interval تایمر باید برابر 1000 باشه !

Vb1471
03-05-2010, 23:58
سلام :
شما بايد در زمانر فتن شي مورد نظر خاصيت Left , topt , ان را بررسي كنيد مثلا : بهش بگي اگه Width شي ء مورد نظر =< يا = مقصد شد ، left ، شي ء مورد نظر دوباره = جاي قبلي يعني مبدا بشه مثلا :

مثلا shape1 در نقطه اول خود برابر 1000 بوده و اگر بعدا برابر نقطه 1350 شد
دوباره برابر 1000 بشه اليته بهطور معكوس




اميد وارم چيزي دست گيرت شده باشه



كنترل تايمرTimer1

Private Sub Timer1_Timer()
shape1.left=shape1.lefft+100
if shape1.left=1350 then
جاي قبلي shape1.left=
end if
End Sub