درود مهمان گرامی! ثبت نام

جشنواره بازیسازی پرومیکرز

امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
تکنیک های کاربردی سیشارپ
#1
مدتی هست که در حال مطالعه ساخت یک dll خوب توسط visual studio برای اتصال به mySQL در unity بودم و مطالعات دیگه ای در حال انجام دارم. امروز تصمیم گرفتم مطالب مهمی که توی سیشارپ یاد می گیرم و بعضیاشون شاید در بازی سازی برای بعضی از ما ممکنه مفید باشن رو بهتون یاد بدم.به عنوان مثال ممکنه در یونیتی نیاز باشه پلاگین های اضافی تحت .net با visual studio بسازید و DLL ساخت خودتون رو به یونتیی import و استفاده کنید. و همینطور الی آخر... .البته خودم در حال یادگیری هستم و مقدماتی که یاد می گیرم رو سعی می کنم به طور مختصر و مفید گلچین کنم.اگه مفید بود و استقبال کردید ادامه میدم.اگه استقبال بشه ادامه میدم..
اتصال به دیتابیس mysql در visual studio 2012 تحت کدنویسی سیشارپ:
این آموزش برای visual studio 2012 هست.
ابتدا شما باید پلاگین mysql plugin visual studio 1.1.1.msi رو از این لینک بگیرید و برای ویژوال استادیو نصب کنید.
اگه شیلتر بود با قند شکن باز کنید:
https://cdn.mysql.com/Downloads/MySQLIns...-1.1.1.msi
8.3 مگابایت هست.
اگه قند شکن ندارید نگران نباشید روی مدیافایر براتون آپلود کردم:
http://www.mediafire.com/download/el5n0l...-1.1.1.msi
بعد دانلود نصبش کنید.
سپس visual studio 2012 رو باز کنید.
یک پروژه Windows form application بسازید.
در کادر splution explorer(کادر درختی اجزای پروژه) راست کلیک کرده و Add reference (افزودن کتابخانه)رو بزنید و در قسمت Extensions (افزونه ها) mysql.Data رو تیک بزنید و ok کنید تا بتونید برای mysql کدنویسی کنید.
سپس یک button روی فرم بذارید و در کادر Properties خصوصیت Text اون رو بذارید Connect to mySQL.
روی این button دوبار کلیک کرده و کد زیر رو برای کلیک اون قرار بدید:
کد php:
//csharp code
//connecting to mySQL host
//Author:Sajjad3011
MySql.Data.MySqlClient.MySqlConnection conn;
            
string myConnectionString;

            
myConnectionString "server=127.0.0.1;uid=root;" +
                
"pwd=;database=database1;";

            try
            {
                
conn = new MySql.Data.MySqlClient.MySqlConnection();
                
conn.ConnectionString myConnectionString;
                
conn.Open();
                
MessageBox.Show("Connected to host");
            }
            catch (
MySql.Data.MySqlClient.MySqlException ex)
            {
                
MessageBox.Show(ex.Message);
            } 


یادتون نره حتما در قسمت بالای برنامه این دستور رو بذارید :

using MySql.Data.MySqlClient;
نکته :
همچنین یک برنامه برای ساخت دیتابیس mysql باید روی سیستم محلی داشته باشید(اگه هم ندارید می تونید روی یک سایت آنلاین که php و mySQL رو ساپورت می کنه در قسمت mysql و phpmyAdmin یک دیتابیس بسازید و ip یا آدرس اتصال به سرور mysql رو از سایت کپی کنید به همراه نام کاربری و رمز عبور اختصاصی به دیتابیس آنلاین و ببرید توی سیشارپ)

اگه اینترنت ندارید همون برنامه ی xampp رو نصب و اجرا کرده و سرویس های mySQL و apache رو run کنید. سپس مرورگر fireFox رو باز کرده و به آدرس http://localhost و سپس به بخش phpmyAdmin برید و یک دیتابیس به نام database1 بسازید.
http://s3.picofile.com/file/8230092442/x...yAdmin.jpg
resim

یوزر پیشفرض root هست و رمز نداره کهخ توی کدبالا آوردیمش. server یا mysql host هم در اینجا روی سیستم محلی هست که ip(آی پی) اش 127.0.0.1 هست که به جاش localhost هم می تونستیم بذاریم.
با F5 اجرا بگیرید و روی دکمه کلیک کنید . اگه بتونه وصل بشه پیام مناسب اتصال میده و اگرنه خطای لازم رو نشون میده.
http://s3.picofile.com/file/8230092918/c...12_csh.jpg
resim
تا اینجا فقط اتصال به دیتابیس رو گفتیم.(این دیتابیس می تونه آنلاین هم باشه و شما از روی سیستم محلی بهش وصل بشید.فقط کافیه یک کنترل پنل php داشته باشید که معمولا mySQL رو ساپورت می کنه و آموزشی هم لازم بود پ.خ کنید تا لینک آموزش های خودم رو توی پرومیکرز بهتون بدم.اینجا درخواست ندید چون شلوغ میشه.ممنون)
موفق باشید.
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
 سپاس شده توسط a3eman ، Mehrdad ، close.css ، sasha ، Milad_Hyper
#2
ساخت DLL در ویژوال استادیو 2012 و اتصال به mysql در یونیتی 5:
حالا یکی از بهترین آموزش ها رو یادتون می دم.(با تشکر از آقا حامد به خاطر فیلم قبلیش که خیلی بهم کمک کرد)
ویژوال استادیو 2012 رو باز کنید.
مسیر File->new project->Visual c#->Class library رو برای ساخت DLL اجرا کنید.
resim
نام رو classLibrary1 گذاشتیم.
ok کنید.
project->Add Reference رو اجرا کرده (یا روی در Refrences solution explorer راست کلیک و Add reference رو بزنید)
در قسمت Framework گزینه ی System.Windows.Forms رو تیک بزنید.
در قسمت extensions هم گزینه ی mySQL.Data رو تیک بزنید.
اگه فایل mySQL.Data یافت نشد باید طبق آموزش قبلی عمل کنید.
همینطور در قسمت browse می تونید unityEngine.dll رو با زدن دکمه ی browse از مسیر C:\Program Files\Unity\Editor\Data\PlaybackEngines\metrosupport\Managed به پروژه اضافه کنید.
target رو از قسمت منوی Project->Properties روی .net 3.5 قرار بدید(توی یونیتی هم باید همون باشه)
resim

کل کد رو دقیقا مثل زیر تغییر بدید(اصلا کد زیر رو کپی کنید توی سورس. هیچ مشکلی پیش نمیاد مطمئن باشید):
کد php:
using UnityEngine;
using MySql.Data;
using System.Windows.Forms;
namespace 
sajjad3011
{
    public class 
ClassSajjad:MonoBehaviour
    
{
        
void Update()
        {
            if (
Input.GetKey(KeyCode.Space))
            {
                
MySql.Data.MySqlClient.MySqlConnection conn;
            
string myConnectionString;

            
myConnectionString "server=127.0.0.1;uid=root;" +
                
"pwd=;database=database1;";

            try
            {
                
conn = new MySql.Data.MySqlClient.MySqlConnection();
                
conn.ConnectionString myConnectionString;
                
conn.Open();
                
MessageBox.Show("Connected to host");
            }
            catch (
MySql.Data.MySqlClient.MySqlException ex)
            {
                
MessageBox.Show(ex.Message);
            }




            }
        }
    }

به کد دقت کنید.گفتم اگه Space زده شد به دیتابیس وصل بشه.(کتابخانه های یونیتی و مای اس کیو ال و سیستم ویندوز فرمز هم add reference کردم)

حالا وقت build کردن هست(منوی build->build ClassLibrary1)
resim
بعد از build پروژه روی ClassLibrary1 در Solution explorer راست کلیک کرده و Open Folder in File Explorer رو بزنید تا مسیر نصب پروژه در پنجره ی جدید باز شه.سپس وارد پوشه ی bin و debug بشید.
روی سیستم من مسیرش اینه :
C:\Users\sajjad3011\Documents\visual studio 2012\Projects\ClassLibrary1\ClassLibrary1\bin\Debug
می بینید که فایل ClassLibrary1.dll و باقی فایل های مورد نیاز در کنارش وجود دارن.
باید تمام فایل های این پوشه رو کپی کنید.
وارد یونیتی بشید و در پوشه ی Assets یک پوشه به نام Plugins بسازید و فایل ها رو داخلش کپی کنید.
حالا یک اسکریپت سیشارپ بسازید(به نام test.cs) و کد زیر رو بریزید توش:
کد php:
using sajjad3011;
public class 
testClassSajjad {


اسکریپت رو بندازید روی دوربین و اجرا کنید.
اگه نرم افزار XAMPP اجرا باشه و سرویس های آپاچی و مای اس کیو ال Run باشن:
resim
و دیتابیسی به نام database1 روی سیستم محلی با یوزر نیم root و رمز تهی وجود داشته باشه. به راحتی به دیتابیس وصل خواهیم شد و پیام مناسب مثل عکس زیر اجرا خواهد شد:
resim

با زدن space به دیتابیس database1 وصل شد و پیام مناسب داد. به اسم کلاس ClassSajjad دقت کنید که چطور تمام کتابخانه های استفاده شده از طریق این کلاس از قبل نوشته شده رو استفاده کردیم. دیگه هیچ چیز رو using نکردم. فقط sajjad3011 رو using کردم.

هرچی dll هم نیاز بود آپلود کردم.اگه ندارید اینا(اما معمولا روی سیستمتون پیدا میشه):
http://s3.picofile.com/file/8230111926/M...a.dll.html
http://s6.picofile.com/file/8230112076/U...e.dll.html
http://s3.picofile.com/file/8230112492/S...s.dll.html

البته ممکنه موقع خروجی گرفتن apk/اندروید در یونیتی با مشکل مواجه بشیم.چون دیتابیس اندروید sqlLite هست و ممکنه کاری نشه کرد برای اتصال به remote و مجبور بشیم به php گریز بزنیم یا تکنیک های ذخیره در فایل متنی آنلاین و ... .
والسلام. و من ا... توفیق smiley
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
 سپاس شده توسط close.css ، sasha ، Milad_Hyper
#3
چقدر پیشرفته surprised
بزار ما همون سی شارپ رو درسترمون یاد بگیریم بعد انشاءالله بریم سروقت dll خخخخ
خیلی خوبه که سطح انجمن داره یکم بالا میره مرسی
resim
موفق باشید
پاسخ
 سپاس شده توسط sajjad3011 ، sasha
#4
کلاس های عمومی یا generic در سیشارپ:
کلاس های جنریک به کلاس هایی می گیم که نوع اونها بعد از اسم کلاس می آد(به صورت پارامتری داخل <>)
برای درک بهتر PDF زیر رو بخونید.
http://www.mediafire.com/download/6bfpz8...+class.pdf
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
 سپاس شده توسط sasha ، Milad_Hyper
#5
آموزش برنامه نویسی بات تلگرام با سیشارپ. ارسال پیام از سیشارپ به تلگرام/ صد در صد کار می کنه. با سورس و دی ال ال
resim

https://t.me/gameoverblog/9736
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
 سپاس شده توسط رضا النصار ، alibay15 ، Mehrdad ، Milad_Hyper




کاربرانِ درحال بازدید از این موضوع: 1 مهمان