Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> برنامه نويسي تخصصي DirectX و اصول برنامه نويسي تحت ويندوز -> من برگشتم!
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه قبلي  1, 2, 3  بعدي

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


1 شنبه 29 ارديبهشت 1392 - 13:41
پاسخ بصورت نقل قول
MahanGM,
دستت درد نکنه.انشالله اگه چرخش هم به موتور اضافه کنم دیگه کامله.
تو خروجی بعدی حتما آزمایشش خواهم کرد.
بازم سپاس Laughing Razz

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


2 شنبه 30 ارديبهشت 1392 - 07:39
پاسخ بصورت نقل قول
سلام.
چرخش هم به مونور اضافه شد...به لطف ماهان جان.
http://computerforever.persiangig.com/document/M21_4thSample.rar
کمی هم روی فضای مرحله کار کردم.
الان باید برم سراغ کاراکتر...تقریبا سخت ترین بخش هست! Sad Mad
امیدوارم بتونم خوب درش بیارم...
خب با آرزوی موفقیت برای همه.
فعلا خداحافظ... Mad

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


5 شنبه 9 خرداد 1392 - 10:54
پاسخ بصورت نقل قول
سلام.
دوستان من برای الحاقیات این موتور دارم یه نرم افزار درست می کنم برا درست کردن فونت...
با فرمتی که برای همین موتور طراحی کردم.
اصل نرم افزار ذکر شده یه پیکچر باکس هست که نتایج رندر در موتور توش نمایش داده می شه.
حالا برای اینکه تصویر درون پیکچر باکس رو سیو کنم تا به عنوان فونت مورد استفاده قرار بگیره از این کد استفاده کردم.
vp نام پیکچر باکس هست.
كد:

image m=vp.image;
m.save("a.png",imageformat.png);

اما برنامه زمان دیباگ ارور Object Refrence not set to instance of an object رو برای
m می گیره.
یعنی هیچ ایمیجی در پیکچر باکس ذخیره نشده...
باید چجوری سیو کنم نتایج رندر رو؟
با سپاس Mad

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
MahanGM
پیر بازی سازی
پیر بازی سازی


تاريخ عضويت: 3 شنبه 20 شهريور 1386
تعداد ارسالها: 1846
محل سكونت: USS Terra Nova


5 شنبه 9 خرداد 1392 - 12:16
پاسخ بصورت نقل قول
Parham, داری توی picturebox از paint استفاده میکنی دیگه؟ کلا زمانی که شما داری paint میکنی چیزی روی image تریسیم نمیشه و کلا اصلا شیء image اصطلاحا drawable نیست. باید یه شیء bitmap تعریف کنی که دسترسی عمومی بهش داشته باشی مثلا بعنوان یک property برای فرمی که picturebox توش هست تعریفش کن و بعد موقعی که میخوای paint کنی باید روی اون bitmap ترسیمات رو انجام بدی و البته برای picturebox هم همینطور. بعد میتونی از outputSurface استفاده کنی و کار save رو انجام بدی. مثل همون image.

كد:
        private Bitmap outputSurface;

        public Form1()
        {
            InitializeComponent();
        }

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Bitmap surface = new Bitmap(this.pictureBox1.Width, this.pictureBox1.Height);
            Graphics g = Graphics.FromImage(surface);

            e.Graphics.DrawRectangle(new Pen(Color.Black), new Rectangle(10, 10, 40, 40));
            g.DrawRectangle(new Pen(Color.Black), new Rectangle(10, 10, 40, 40));

            this.outputSurface = surface;

            g.Dispose();
            surface.Dispose();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.outputSurface.Save("C:\\test.png", System.Drawing.Imaging.ImageFormat.Png);
        }


البته خوبی اینکار اینه که میتونی دیگه اصلا به رویداد paint کاری نداشته باشی و کلا اون قسمتی که روی bitmap داره ترسیم میکنه رو ببری تو یه متد به اسم render و در آخر کار زمانی که داری this.outputSurface = surface میکنی رو ورداری و بجاش بنویسی pictureBox1.Image = surface. اینطوری از همون image میتونی استفاده کنی و save کنی.

_________________
I have a dream that little children will one day live in a nation where they will not be judged by the color of their skin but by the content of their character. I have a dream today
هیچ راه فراری نیست!
http://www.dreamfactory.ir
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


1 شنبه 19 خرداد 1392 - 08:19
پاسخ بصورت نقل قول
سلام.
من می خوام یه لول ادیتور هم باسه این موتور درست کنم که بتونم ازش خروجی exe بگیرم.
از این کد استفاده کردم برای بیلد یه پروژه دیگه برای تست.
ولی خطا گرفت:
كد:

Engine e = new Engine("F:\\Programing");
            Project p = new Project(e);
            p.Load("F:\\programing\\NetPRG\\NetPRG.sln");
            p.Build();

کد درست برای بیلد از یک پروژه سی شارپ چیه؟ Shocked
ممنونم

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
MahanGM
پیر بازی سازی
پیر بازی سازی


تاريخ عضويت: 3 شنبه 20 شهريور 1386
تعداد ارسالها: 1846
محل سكونت: USS Terra Nova


1 شنبه 19 خرداد 1392 - 11:07
پاسخ بصورت نقل قول
من تاحالا از build engine استفاده نکردم ولی از code provider استفاده کردم که خیلی عالی هست. یه نگاه به CSharpCodeProvider بنداز، میتونی فایل های csharp رو بهش بدی و تنظیمات مورد نظرت رو انجام بدی که آبا خروجی بگیری و یا توی memory برات کامپایل کنه، همش تو یه assembly بر مگیرده. ولی فایل sln نمیگیره چون این روش یه روش مستقیم برای compile کردن با خود کامپالر csharpه.

ولی اگه برات سخته و حتما میخوای یه solution کامپایل کنی، متن ارور رو اینجا بنویس.

_________________
I have a dream that little children will one day live in a nation where they will not be judged by the color of their skin but by the content of their character. I have a dream today
هیچ راه فراری نیست!
http://www.dreamfactory.ir
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


1 شنبه 19 خرداد 1392 - 12:00
پاسخ بصورت نقل قول
سلام.
نه حتما نمی خوام سلوشن کامپایل شه.
میتونه فایل *.csproj باشه...
چون می خوام باسه موتور GUI درست کنم مقل بقیه موتورهای آماده...میخواستم از تو همون GUI هم بشه خروجی گرفت...و برای اسکریپت هایی که کار بر می نویسه.
مرسی...الان یه نگاهی می کنم...
Laughing Evil or Very Mad

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


1 شنبه 19 خرداد 1392 - 13:23
پاسخ بصورت نقل قول
MahanGM, خب... Confused
میشه یه نمونه مثال بزنی از این کتابخونه؟
من تو کار با این چندان موفق نبودم Confused Shocked

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Parham
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: 4 شنبه 28 دي 1390
تعداد ارسالها: 408
محل سكونت: somewhere behind a lot of troubles...


1 شنبه 19 خرداد 1392 - 17:47
پاسخ بصورت نقل قول
اینم کدی هست که من استفاده کردم:
كد:

using System;
using System.Collections.Generic;
using System.Text;
using System.CodeDom.Compiler;
using Microsoft.CSharp;

namespace BuildTest1
{
    class Program
    {
        public static void Main(string[] args)
        {
            string command = "";
            while (true)
            {
                Console.Write("Waiting for a command:> ");
                command = Console.ReadLine();
                try
                {
                    switch (command.ToLower())
                    {
                        case "cls":
                            Console.Clear();
                            break;
                        case "exit":
                            return;
                        case "build":
                            Console.Write("Enter file path to build:> ");
                            Build(Console.ReadLine());
                            Console.WriteLine();
                            break;
                        default:
                            Console.WriteLine("Invalid Command:> " + "\"" + command + "\"\n");
                            break;
                    }
                    command = "";
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    continue;
                }
            }
        }

        public static void Build(string FilePath)
        {
            CodeDomProvider cpvr = CodeDomProvider.CreateProvider("CSharp");
            CompilerParameters cprm = new CompilerParameters();
            cprm.GenerateExecutable = true;
            cprm.GenerateInMemory = false;
            cprm.OutputAssembly = "F:\\outPut.exe";
            cprm.TreatWarningsAsErrors = false;
            CompilerResults cr = cpvr.CompileAssemblyFromFile(cprm, FilePath);
            Console.WriteLine("Compiled: " + cr.PathToAssembly);
        }
    }
}


خطا نمیگیره...فقط وقتی کامپایل می کنم اصلا خروجی نمیده...

_________________
برای رسیدن به موفقیت آسانسوری وجود ندارد،باید پله پله بالا رفت؛
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
MahanGM
پیر بازی سازی
پیر بازی سازی


تاريخ عضويت: 3 شنبه 20 شهريور 1386
تعداد ارسالها: 1846
محل سكونت: USS Terra Nova


2 شنبه 20 خرداد 1392 - 12:02
پاسخ بصورت نقل قول
این یه متد که قبلا خودم از روی یکی از پست های فروم مایکروسافت نوشتم. یعنی اینکه همینطوری از خودم اختراع نکردم! کافیه که اسم فایلهایی که میخوای کامپایل بشن رو توی یه آرایه و مسیر فایل exe رو بدی به این متد. فقط حواست باشه که تمام مسیر ها باید absolute باشن. و دوباره میگم که این روش فقط فایل های cs قبول میکنه. نه sln و نه prj.

نمونه استفاده:

كد:
            string[] FileNames = new string[] {
              Application.StartupPath + "\\sources\\" + "source1.cs",
              Application.StartupPath + "\\sources\\" + "source2.cs"
            };

            if (CompileCSharpCodeFromSource(FileNames, "C:\\Test.exe"))
            {
                label1.Text = "Success";
            }
            else
            {
                label1.Text = "Failed";
            }


كد:

private bool CompileCSharpCodeFromSource(string[] FileNames, string ExePath)
        {
            CSharpCodeProvider CodeProv = new CSharpCodeProvider();

            CompilerParameters Params = new CompilerParameters();
            Params.ReferencedAssemblies.Add("System.dll");
            Params.ReferencedAssemblies.Add("System.Windows.Forms.dll");
            Params.GenerateInMemory = false;
            Params.GenerateExecutable = true;
            Params.OutputAssembly = ExePath;

            CompilerResults CompRes = CodeProv.CompileAssemblyFromFile(Params, FileNames);

            txtError.Text = "";

            if (CompRes.Errors.Count > 0)
            {
                foreach (CompilerError Err in CompRes.Errors)
                {
                    txtError.Text += Err.ToString() + "\n";
                }
            }
            else
            {
                for (int i = 0; i <= CompRes.Output.Count - 1; i++)
                {
                    txtError.Text += CompRes.Output[i].ToString();
                }
            }

            if (CompRes.Errors.Count > 0)
            {
                return false;
            }
        }

_________________
I have a dream that little children will one day live in a nation where they will not be judged by the color of their skin but by the content of their character. I have a dream today
هیچ راه فراری نیست!
http://www.dreamfactory.ir
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 2 از 3 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد
برو به صفحه قبلي  1, 2, 3  بعدي


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |