Mohamad Reza Baghbani

وبلاگ محمد رضا باغبانی
طبقه بندی موضوعی

Mohamad Reza Baghbani

وبلاگ محمد رضا باغبانی

MoveTowards دارای گام های یکسان است و با سرعتی ثابت به سوی هدف حرکت می کند .

Lerp با سرعتی شیب دار یعنی ابتدا سریع و سپس کند شونده به سوی هدف حرکت می کند.


۰ نظر موافقین ۲ مخالفین ۰ ۱۷ شهریور ۹۶ ، ۱۱:۴۲
محمد رضا باغبانی

چون اولین بارم بود تقریبا یک ساعت وقت گذاشتم اینو ریگ کردم میتونید کارکتر ریگ شده رو دانلود کنید


Godot rigged character



دریافت

۰ نظر موافقین ۱ مخالفین ۰ ۳۰ بهمن ۹۵ ، ۱۰:۵۵
محمد رضا باغبانی

برای پروژم نیاز داشتم که دو تا فرگمنت رو داخل یک صفحه نمایش بدم. فرگمنت سمت راست به صورتی بود که بعد از کلیک کردن باید با فرگمنت دیگری جابجا میشد برای این کار اول دوتا تگ <fragment> داخل فایل main_layout.xml پیاده کردم ولی بعد از عمل replace متوجه شدم این تابع به درستی کار نمیکنه بعد از چندی جستجو متوجه شدم برای فرگمنت های پویا که تعویض میشن نباید مستقیما تگ فرگمنت رو تعریف کرد به جاش از تگ  FrameLayout استفاده کردم . یه مثال سریع رو میتونید مشاهده کنید :


فایل main_layout.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<FrameLayout
android:id="@+id/frag1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="fill_parent"></FrameLayout>
<FrameLayout
android:id="@+id/frag2"

android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="fill_parent">

</FrameLayout>

</LinearLayout>

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction =
fragmentManager.beginTransaction();

TaskListFragment taskListFragment = new TaskListFragment();
CircleFragment circleFragment = new CircleFragment();

fragmentTransaction.add(R.id.frag1, circleFragment);
fragmentTransaction.add(R.id.frag2, taskListFragment);

fragmentTransaction.commit();

حالا به هر صورت با هر فرگمنتی که خواستین میتونین fragmentTransaction.replace  رو انجام بدین.

۰ نظر موافقین ۱ مخالفین ۰ ۳۰ بهمن ۹۵ ، ۱۰:۳۴
محمد رضا باغبانی
در ادامه‌ی بخش قبل، اگر گیمی داشته باشیم که متن‌های آن به صورت پیش‌فرض، یا ثابت نباشند با مشکل مواجه می‌شویم، برای مثال، زمانی که کاربر نام خود را وارد می‌کند، یا همانند بازی "حروف ریز" که کاربر متن آن را به صورت تصادفی انتخاب می‌کند...


برای این مورد، حقیر درحد توان و معلوماتم قطعه کدی نوشته‌ام که امیدوارم به کار شما نیز بیاید (البته اگر شخصی بدین منظور سورس گودوت را ویرایش کند یا راه حلی بهتر ارائه نماید لطف بزرگی در حق بنده حقیر و دوست‌داران این انجین انجام داده است) :

می‌توانید قطعه کد را از اینجا دانلود کنید یا در ادامه مطلب مشاهده فرمایید.

۴ نظر موافقین ۲ مخالفین ۰ ۲۵ اسفند ۹۴ ، ۱۸:۳۳
محمد رضا باغبانی
برای فارسی نویسی در گودوت انجین ابتدا باید فونت خود را import کنید.


۳ نظر موافقین ۳ مخالفین ۰ ۲۳ اسفند ۹۴ ، ۱۳:۱۳
محمد رضا باغبانی

(توجه این فایل مربوط به Godot_v2.0_rc1 است)

در پست قبل نحوه حذف دسترسی‌ها را مطرح کردم، با این حال فایل ویرایش شده (حذف دسترسی ها با پیشوند گودوت) را در ادامه مطلب قرار داده‌ام .

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

به مسیر زیر بروید :

C:\Users\نام‌سیستم‌شما\AppData\Roaming\Godot\templates


فایل دانلود شده را در مسیر جاری  past کنید تا جایگزین فایل قبلی شود (past and replace).

 AppData پوشه‌ای مخفی‌ست، پس برای نمایش آن تنظیمات Folder Option را تغییر دهید.


دانلود

۶ نظر موافقین ۲ مخالفین ۰ ۲۲ اسفند ۹۴ ، ۱۳:۵۱
محمد رضا باغبانی

قبلا از انتشار بازی حروف ریز ، کافه بازار به دلیل دسترسیهایی با پیشوند godot بازی را تایید نمی‌کرد، و پیام دادند که این دسترسیها باید حذف شود، بنده هم نخواستم برای تغییر اکسپورت تمپلیت ها سورس گودوت را دانلود ، ویرایش و کامپایل کنم چون واقعا زمان‌بر است و تجربه ای در این زمینه نداشتم.

در عوض از یک روش دیگر استفاده کردم از ابزاری به نام apktool

اینجا

۲ نظر موافقین ۱ مخالفین ۰ ۱۹ دی ۹۴ ، ۱۹:۳۳
محمد رضا باغبانی

مدتیست که بازی "حروف ریز 4" (بخوانید Horoof Riz) را در کافه بازار منتشر کرده ام . به مدت یک ماه کارهای برنامه نویسی و طراحی گرافیک را انجام دادم . 

این بازی همانطور که در توضیحات کافه بازار برایش نوشته ام مناسب افرادیست که علاقمند حل مسائلند و هچنین در اوقات فراغت میتوانید لحظاتتان را پر کند . 
برای حل مسئله ها داشتن دامنه لغات بالا کارساز است زیرا با حدس کلمات مختلف میتوان به جواب مسئله نزدیک تر شد و آن ها را آسان تر حل کرد.
 
پس اگر یکی از ویژگی های زیر را ندارید این بازی مناسب شما  نیست و از دانلود آن خود داری کنید :
دقت و حوصله
تقریبا دامنه لغات بالا
علاقمند به حل مسئله

۰ نظر موافقین ۱ مخالفین ۰ ۱۹ دی ۹۴ ، ۱۹:۲۹
محمد رضا باغبانی

متعجبم از اینکه چرا برخی اساتید محترم برای تدریس درس برنامه سازی C/C++ کماکان از خانواده Turbo  استفاده می کنند ...

شاید یادشان رفته علم و تکنولوژی پیشرفت کرده و دیگر دوران داس به سر امده ...
شاید هم دوست دارند دانشجویان برنامه نویسی را با اعمال شاقه شروع کنند ...
بگذریم از اینکه محیط های توسعه مجتمعی مثل visual studio  و qt وجود دارند  البته به نظر حقیر برای برخی تازه کارها نصب و استفاده از آن سردرگم کننده و پیچیده باشد...
اما دو پیشنهاد را برا شما مطرح میکنم :
1- dev C++
2 - code::block
به شخصه با اولی چندان راحت نیستم ولی از گزینه دوم برا یادگیری و همچنین حل نمرین و ارائه پروژه بسیار استفاده نموده ام.
حال برخی ویژگی های این IDE یا همون محیط توسعه مجتمع برای شما تازه کارها چیست :
1- های لایت کردن کد ها که طبعا موجب خوانایی بهتر میشود
2-Code completion یعنی به محض شروعِ نوشتن کد، کلمات پیشنهادی را برایتان نمایش میدهد و از تایپ کامل آن بی نیاز میشوید
مثلا اگر میخواهید بنویسید #include  تا #in را نوشتید کلمه #include به طور کامل نمایش داده میشود.
3- به صورت هوشمندانه کد ها رو مرتب میکند... منظور فرو رفتگی کدها ....  مثلا اگر یک حلقه تو در تو داشته باشید حلقه دومی رو داخل حلقه اول نشان میدهد و نیازی نیست که مدام SPACE بزنید تا کدها مثل کتاب مرتب شود
4- میشود به راحتی بین پروژه های مختلف سوئیچ کرد ، برای مثال مقایسه کد نوشته های خود، با نمونه کدی که از کتاب راهنما کپی نمودید 
 

۱ نظر موافقین ۱ مخالفین ۰ ۱۹ دی ۹۴ ، ۱۹:۲۸
محمد رضا باغبانی