تحسن للنص
معنى الكود ان لم يكن في العنصر المصتدم به ( في عملية trigger ) السكربت او الملحق PlayerController
لا تكمل الكود الذي بالأسفل return ارجع لا شيء
if (other.GetComponent<PlayerController>() == null)
return;
معنى الكود ان لم يكن في ( العنصر المصتدم به بعملة trigger ) السكربت او الملحق PlayerController
لا تكم الكود الذي بالأسفل return ارجع لا شيء
لغة *البايثون* لغة مفتوحة المصدر تجدها في كل نظام سهله ومرنه افتراضيًا تكون منصبة على نظام
linux ونظام mac os x
برمجة بها اغلب البرامج والالعاب الشهيرة
مثل برنامج gimp الغني عن التعريف لتعديل الصور
وسوف تجد الكثير من الشروحات هنا للغة
eval تقوم بتنفذي النص الذي بداخلها كابرنامج مثل
eval("print('مرحبًا')")
// يطبع: مرحبًا
اما return ترجع القيمة من الداله مثال
def prog():
return "برنامج"
print prog() // يطبع: برنامج
اما global تستخدم لتلحق المتغير العام بقيمة مثال
def bob():
global me
me = "متعرّف"
print me
bob()
print me // يطبع: متعرّف
هناك مكتب تقوم بهذا العمل
اي تقوم بجلب النص من الصور
https://code.google.com/archive/p/pytesser/
مثال بسيط
from pytesser import *
image = Image.open('fnord.tif')
# Open image object using PIL
print image_to_string(image)
# Run tesseract.exe on imagefnord
print image_file_to_string('fnord.tif')
fnord(more examples in README)
لجلب ارقام تتسع الى 32 رقم من المتغير وتحويلها الى نص
00000000000000000000000000000000
يمكنك الإطلاع على الدالة من هنا: https://msdn.microsoft.com/en-us/library/97af8hh4(v=vs.110).aspx
ماداخل Update يتم تشغيل مع كل إطار
وماداخل Start يعمل مرة واحدة عن استدعاء العنصر
اما FixedUpdate يعمل مثل Update الفرق ان FixedUpdate يعمل مع كل خطوة فزيائية في اللعبة
اما Awake يعمل مثل Start الفرق ان Awake يعمل قبل Start
اما gameObject فهو نفس الكائن الذي موضوع فيه السكربت
و GameObject هو كلاس تستطيع تعريب به متغير او استخدامه مباشرة
الـreference الخاصة به: https://docs.unity3d.com/ScriptReference/GameObject.html
اما Mathf مثيل لكلاس Math الموجود في C# الفرق ان Mathf يعمل مع المتغييرات من نوع float و Math يعمل مع المتغيرات من نوع double
إذا كانت تستخدم ويندوز يكفي بان تقوم بإنشاء ملف program.bat
وتضيف المحتوى التالي بداخلة
@echo off
./program
pause
مع إستبدال `program` بإسم البرنامج
اما إذا كنت تسخدم لينكس او يونكس ( نظام الماك ) قم بإنشاء ملف program.bat يحتوي:
./program
مع إعطاء الملف الصلاحيات الازمة والتأشير او وضع علامة صح على execute file و open in terminal
وقم بفتح الملف وتلقائيًا سوف يفتح بالطرفية
ملف `program.bat` او `program.sh` ليس ملف program
نعم صحيح ويمكنك التحقق ايضًا اذا كانت ترجع نص او رقم مثال
void main(){
if(returnName()) // = true
{
/*
صحيحة لان returnName()
ترجع نص ليس فارغًا "سالم" وهكذا
*/
}
if(returnName() == "سالم"){
/*
صحيح لان returnName()
ترجع "سالم" وكان المعادلة أصبحت
"سالم" == "سالم" // true
*/
}
if(returnName() == "أيوب"){
/*
غير صحيح لان returnName()
ترجع "سالم" وكان المعادلة أصبحت
"أيوب" == "سالم" // false
لكن "سالم" ليس "أيوب" ـ
*/
}
}
public string returnName(){
return "سالم";
}
الشرط يتحقق إذا كانت النتيجة بين القوسين هي true
لزيادة العلم
1 == 1 يرجع true وبإمكانك التحقق هكذا مثلًا
system.out.print("result: " + ( 1 == 1 ))
النص الفارق يرجع false
'' // = false
"" // = false
النص الذي يحتوي على محرف واحد واكثر يرجع true
" " // يحتوي مسافة = true
"S" // = true
"من العايدين اخي" // = true
الاعداد 0 يرجع false وواحد واكثر يرجع true
0 // = false
1 // = true
120 // = true
وعنصر null و undefined يرجع false
وكذلك الـ error يرجع false
والدوال كذلك اي داله ترجع رقم حرف قيمة true او false يمكنك إستخدامها في if
ويمكنك استخدام if للتحقق اذا الدالة تحققت
هناك لغة اخرى عربية إسمها الأسس
http://alusus.org/
وهي أفضل من لغات البرمجة العربية الاخرى بالإضافة لدعمها اللغتين
وتستطيع ان تسائل مطوري اللغة عنها لتجهيز بحث عنها
نعم تستطيع
هناك كثير من المكتبات البرمجية التي تساعدك على بناء تطبيقات هجينة او خام
من المكتبات التي تطور تطبيقات هجينة : cordova, ionic, intel xdk وغيرها الكثير
من المكتبات التي نطور تطبيقات خام native: ـ nativescript, react native ,fuse وغيرها الكثير