المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مثال : عمل مربع الكلام اللي في العاب الRPG



PRG of RPG
04-11-2002, 11:59 AM
بسم الله الرحمن الرحيم
السلام عليكم...

هذا مثال على مربع الالعاب اللي يطلع في العاب الار بي جي..توي مسوية الساعة وحدة بالليل (مدري وش عندي)...

المهم هذا شكلة الاول (البسيط) بعدين يمكن يتعقد....



Option Explicit
Dim txt_len As String
Dim txt As String
Dim txt_num As Integer

Public Sub display(word As String)
txt_len = Len(word)
If (txt_num < txt_len) Then
txt_num = txt_num + 1
txt = Mid(word, txt_num, 1)
Text1.Text = Text1.Text & txt
End If
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 39: Timer1.Interval = 50
Case 27: Timer1.Interval = 200
End Select
End Sub

Private Sub Timer1_Timer()
display ("مثال على مربع محادثات زي اللي في الار بي جي... اذا تبي تغير سرعة الكلام اضغط زر اليمين واذا تبي تنقص السرعة اضغط اليسار")
End Sub


بعد كذا ما عليك الا انك تكتب
Display("الكلام اللي تبي ترسمه")


تحيااااااتي

PRG of RPG
05-11-2002, 09:59 AM
ابسوي واحد في الدايركت اكس عشان يطلع له معنى وبسوي واحد عادي .... الاسبوع الجاي انشاءالله..
فيه احد يقاومني مربعات ؟

Mr. Black Man
05-11-2002, 11:29 PM
شكراً لك على الموضوع و الدرس الرائع و انتظر منك المزيد ;)

PRG of RPG
26-11-2002, 08:59 AM
السلام عليكم....

معليش جتني ضروف اشغلتني شوي :o

المهم... لقد طورت المربع الى المرحلة الثانية..تونااااااااااااا
الشيء المهم فيه انني وضعت موديل تنسخه ثم تلصقه .... بالطبع الافضل ان تفهمه كاملاً....ثم تقوم بعمليات بسيطة لإنشاء المربعات....

ملاحظة /
هذا المربع وغيره غير عملي ومفيد حتى نصل الى DX .

خطوات الانشاء :
1-اضف موديل واكتب فيه


Option Explicit
Public Number As Integer

Public Sub box_shape(top As Long, left As Long, buttom As Long, right As Long, R As Integer, G As Integer, B As Integer)
Form1.Hide
Form1.Text1.top = top: Form1.Text1.left = left: Form1.Text1.Height = buttom: Form1.Text1.Width = right
Form1.Text1.BackColor = RGB(R, G, B)
Form1.Width = right - left
Form1.Height = buttom - top
Form1.Show
End Sub
Public Sub display(word As String, R As Integer, G As Integer, B As Integer)
Static txt_len As String
Static txt As String
Static p As Integer
Static txt_num As Integer
txt_len = Len(word)
If (txt_num < txt_len) Then
txt_num = txt_num + 1
txt = Mid(word, txt_num, 1)
Form1.Text1.Text = Form1.Text1.Text & txt
Else
If (p < 4) Then
p = p + 1
Form1.Text1.Text = Form1.Text1.Text & "."
Else
p = 0
txt_num = 0
txt = ""
Form1.Text1.Text = ""
Number = Number + 1
End If
End If
Form1.Text1.ForeColor = RGB(R, G, B)
End Sub


2- الان في الفورم :
اولاً : نحدد خصائص الفورم
مثال :


Private Sub Form_Load()
Call box_shape(0, -20, 2000, 4000, 20, 100, 20)
End Sub

من اليسار :
في الوسيطة الاولى ادخلنا "0" وهي تحدد أعلى المربع
في الوسيطة الثانية ادخلنا "20-" وهي تحدد يسار المريع
في الوسيطة الثالثة ادخلنا "2000" وهي تحدد طول المربع
في الوسطية الرابعة ادلخنا "4000" وهي تحدد عرض المربع
في الوسيطة الخامسة والسادسة والسابعة ثمل لون مربع الحوار بنظام RGB

ثانياً : نضع هذا الكود لتقليل وتسريع الكتابة


Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37: Timer1.Interval = 50
Case 39: Timer1.Interval = 200
End Select
End Sub


ثالثاً : الان داخل التايمر نكتب هذا الكود لعرض الكلمات التي نريدها بالعدد الذي نريده


Private Sub Timer1_Timer()

Select Case Number
Case 0
Call display(" مثال على مربع محادثات زي اللي في الار بي جي... اذا تبي تغير سرعة الكلام اضغط زر اليمين واذا تبي تنقص السرعة اضغط اليسار", 100, 20, 100)
Case 1
Call display(" برمجة يزيد الدليقان", 200, 20, 60)
Case 2
Call display(" البرمجة افكار ولن تستطيع البرمجة بالنظر الى الأمثلة... صدقني لازم تحاول تبرمج معتمداً على نفسك", 0, 50, 100)
Case 3
Call display(" فليس السؤال كيف أعمل كذا؟ ولاكن ما هو الكود لعملية كذا", 50, 0, 30)
Case 4
Timer1.Enabled = False ' لتوفير الذاكرة
End Select
End Sub


الوسيطة الاولى هي النص المراد اضهاره
بقية الوسائط(عددها ثلاث) لتحديد لون النص بنظام RGB .
في اخر حالة(Case) اجعلها لتوقيف التايمر كما فعلت في المثال وذلك لتوفير الذاكرة .

H4
27-11-2002, 08:14 AM
مشكور...


بس ليش اخترت VISUAL BASIC بالتحديد :أفكر: ...

PRG of RPG
01-12-2002, 01:49 PM
السلام عليكم......

لسبب بسيط : خبرتي في السي في نظام الدوس فقط . أنا قاعد أتعلم الحين تطبيقات ويندوز...(تونا)

تحااااتي :)