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





صفحه اول انجمنها -> برنامه نویسی با زبان های C++ و Delphi و VB -> سوالهايي در مورد ++C
 

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

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


تاريخ عضويت: 5 شنبه 27 آبان 1389
تعداد ارسالها: 940
محل سكونت: NoWhere Land


4 شنبه 31 خرداد 1391 - 00:13
پاسخ بصورت نقل قول
MahanGM, نه, این کارم کردم ولی نشد که نشد!

_________________
-

If you say pls, because it is shorter than "please", I will say no, because it is shorter than yes
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي نام كاربري در پيغامگير Yahoo
 

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


تاريخ عضويت: 5 شنبه 27 آبان 1389
تعداد ارسالها: 940
محل سكونت: NoWhere Land


3 شنبه 6 تير 1391 - 18:40
پاسخ بصورت نقل قول
سلام. می خواستم ببینم کسی در مورد Bounding Box دوبعدی اطلاعاتی داره. البته می خوام به صورت دقیق و پیکسل به پیکسل محاسبه بشه, نه فقط برخورد دوتا مربع یا دایره!

_________________
-

If you say pls, because it is shorter than "please", I will say no, because it is shorter than yes
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي نام كاربري در پيغامگير Yahoo
 

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


تاريخ عضويت: 5 شنبه 27 آبان 1389
تعداد ارسالها: 940
محل سكونت: NoWhere Land


جمعه 16 تير 1391 - 20:45
پاسخ بصورت نقل قول
دوباره سلام.
یه مشکل تازه دارم, می خوام ببینم چطور می تونم یه تکسچر دو بعدی رو نسبت به یه نقطه بچرخونم. یعنی در حالت عادی تکسچر دور خودش می چرخه:



ولی من می خوام نسبت به نقطه ی P بچرخه:



کد خودم اینه ولی کار نمیکنه:

كد:
EXPORT void sprite_draw(void* texture , int x, int y, int offset_x,
  int offset_y, float rotate, float alpha)
{
 
  int xx = offset_x + (x - offset_x) * cos(rotate * (PI/180)) - (y-offset_y) *
    sin(rotate * (PI/180));
   
  int yy = offset_y - (x - offset_x) * sin(rotate * (PI/180)) + (y-offset_y) *
    cos(rotate * (PI/180));

  texture -> draw(xx, yy, rotate, alpha);
}


ممنون میشم کمکم کنید. Cool

_________________
-

If you say pls, because it is shorter than "please", I will say no, because it is shorter than yes
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي نام كاربري در پيغامگير Yahoo
 

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


تاريخ عضويت: 5 شنبه 27 آبان 1389
تعداد ارسالها: 940
محل سكونت: NoWhere Land


جمعه 16 تير 1391 - 23:52
پاسخ بصورت نقل قول
دوستان ممنونم که کمک نکردید! Very Happy ( شوخی می کنم! )

خودم با کلی فسفر سوزوندن, راه حلش رو پیدا کردم, اینجا میذارم شاید روزی روزگاری به درد کسی خورد!

كد:
float direction = atan2(offset_x, offset_y);
 
float distance = sqrt((offset_x) * (offset_x) + (offset_y) * (offset_y));
 
int xx = x + (cos((direction + angle) * PI/180) * distance);
int yy = y + (sin((direction + angle) * PI/180) * distance);
 
texture -> draw(xx, yy, angle, alpha);

_________________
-

If you say pls, because it is shorter than "please", I will say no, because it is shorter than yes
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي نام كاربري در پيغامگير Yahoo
 

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


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


شنبه 17 تير 1391 - 00:44
پاسخ بصورت نقل قول
AshkaN_666i, والا اشکان من که ریاضیم تعطیله برا همین چیزی ننوشتم.

_________________
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
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

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


تاريخ عضويت: 5 شنبه 27 آبان 1389
تعداد ارسالها: 940
محل سكونت: NoWhere Land


شنبه 4 شهريور 1391 - 01:44
پاسخ بصورت نقل قول
سلام

دوستان می خواستم ببینم کسی راهی, کتابخونه ای, چیزی برای ساخت و گرفتن بیت ماسک از یه اسپرایت سراغ داره!



یه راه به فکر خودم میرسه, اینه که تک تک پیکسل های اسپرایت رو چک کنیم, هر پیکسلی که آلفاش بیشتر از 0 بود, اون پیکسل میشه 1, بقیه پیکسلا میشن صفر!

باز ممنون میشم اگه کسی راه سریع تری سراغ داره بگه, که بتونم سرعت پردازشو افزایش بدم!

ممنون!

_________________
-

If you say pls, because it is shorter than "please", I will say no, because it is shorter than yes
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Unity3D
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 2 شنبه 23 آذر 1388
تعداد ارسالها: 1034


شنبه 4 شهريور 1391 - 12:56
پاسخ بصورت نقل قول
سلام اشکان

پردازش به ازای هر پیکسل که باید انجام بشه و روشی که رفتی کاملا درسته ... برای افزایش سرعت باید اینکار Parallel انجام بشه ، یه روش این که تکسچرت رو به چند بخش تقسیم کن و هر کدوم رو بده به یه Thread و یا بهتر از این روش اینکه از CUDA یا OpenCL استفاده کن ...
هر چند تو این مورد شما من فکر میکنم همون روش خودت یعنی iterative هم جواب بده ، فکر کنم حتی تکسچر هایی با سایز 512 رو بشه تو چند صدم ثانیه ازش بیت ماسک ساخت ...
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


تاريخ عضويت: 5 شنبه 27 آبان 1389
تعداد ارسالها: 940
محل سكونت: NoWhere Land


شنبه 4 شهريور 1391 - 14:42
پاسخ بصورت نقل قول
Unity3D, مرسی! Laughing
البته سرعت خیلی زیاد هم احتیاج ندارم, چون این کار تو ادیتور قراره انجام بشه و تو بازی نسخه ی از قبل پردازش شده استفاده میشه! فقط می خواستم ببینم روش استاندارد این کار چیه!

امین جون, بزنم به تخته اطلاعات شما خیلی بالاستا!
بازم ممنون!

_________________
-

If you say pls, because it is shorter than "please", I will say no, because it is shorter than yes
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
Unity3D
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 2 شنبه 23 آذر 1388
تعداد ارسالها: 1034


شنبه 4 شهريور 1391 - 14:50
پاسخ بصورت نقل قول
AshkaN_666i, شما لطف داری اشکان جون Laughing
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
شهروز
مدیر انجمن
مدیر انجمن


تاريخ عضويت: جمعه 16 مرداد 1383
تعداد ارسالها: 3277
محل سكونت: Germany


شنبه 15 مهر 1391 - 22:47
پاسخ بصورت نقل قول
سلام.
میدونم سوالم ابتداییه ولی هر جا گشتم چیزی پیدا نکردم.

فرض کنید ما دو متغیر بصورت زیر داریم که در main تعریف شده:

كد:
int main()
{
    Texture tx=Texture();
    Sprite s= Sprite();

    load (&tx, &s);

    return 0;
}


و یک تابع که این این دو مقدار رو بصورت پوینتر میگیره و تغییر میده.

كد:
static void load(Texture* tx, Sprite* sp)
{
    tx->loadFromFile("test.png");
    sp->setTexture(tx);
}


خب. ورودی تابع setTexture باید const Texture باشه نه پوینتری که اینجا بهش دادم.
من این کار رو کردم :

كد:
static void load(Texture* tx, Sprite* sp)
{
    tx->loadFromFile("test.png");
   
    Texture t=*tx;
    sp->setTexture(t);
}


ولی نتیجه این میشه که t خالیه.

ایراد کارم کجاست ؟

_________________




استدیوی نرم افزاری بلوبالک
www.Bluebulk.info
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر
 

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


 
پرش به:  


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


unity3d

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