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





صفحه اول انجمنها -> ساخت بازی با نرم افزار Unity -> سوال و جواب (کد نویسی جاوا اسکریپت)
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه قبلي  1, 2, 3 ... 107, 108, 109 ... 162, 163, 164  بعدي

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


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


شنبه 12 شهريور 1390 - 17:34
پاسخ بصورت نقل قول
hosseinscorpion, به صورت پیشفرض نمیتونید ، چون یونیتی فارسی رو پشتیبانی نمیکنه .
اما با استفاده از یکسری فارسی نویسها میتونید بعضی چیزها رو به صورت فارسی وارد کنید.

(البته برای ورودی GUI در حال اجرای پروژه اطلاعی ندارم از چه راهی میشه استفاده کرد دوست من)

_________________
Email:b_c.info@Yahoo.com
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
hosseinscorpion
در حال رشد
در حال رشد


تاريخ عضويت: 4 شنبه 23 اسفند 1385
تعداد ارسالها: 59


1 شنبه 13 شهريور 1390 - 09:22
پاسخ بصورت نقل قول
alpine خیلی ممنوم کسی دیگه نظری نداره ؟
برای پرتاب تیر کمان چه راه کاری رو پیشنهاد می کنید ؟
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

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


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


3 شنبه 15 شهريور 1390 - 13:29
پاسخ بصورت نقل قول
به نظر بنده میتونید از توابع فیزیک یونیتی مثل addforce استفاده کنید. کافیه برای این منظور rigidbody رو در رفرنس جستجو ، و توابعی رو که برای پرتاب کردن و وارد کردن نیرو به اجسام وجود داره رو پیدا کنید.

_________________
Email:b_c.info@Yahoo.com
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
Evil Skenedi
در حال رشد
در حال رشد


تاريخ عضويت: شنبه 25 تير 1390
تعداد ارسالها: 28


3 شنبه 15 شهريور 1390 - 17:59
پاسخ بصورت نقل قول
من در بسیاری از بازی ها قسمتی را به عنوان انتخاب سطح بازی (Easy-Medium-Hard)
مشاهده می کنم.البته می دانم که این قسمت به AI مربوط می شود اما نمی دانم چگونه می شه
اون را ساخت.ممکنه لطفا توضیح بدهید.

_________________
http://www.alonegames.co.cc
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي آدرس AIM نام كاربري در پيغامگير Yahoo
 

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


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


3 شنبه 15 شهريور 1390 - 18:14
پاسخ بصورت نقل قول
Evil Skenedi, یکم سوال شما گنگه، اگه منظور شما فقط منوی انتخاب difficulty بازیه که با gui راحت میتونی بسازی. اگه منظور تو خود بازیه، که اونم بستگی به سبک بازیت داره. مثلاً تو یه بازی جنگی می تونی به این شکل عمل کنی که اگه بازی easy بود دشمنا زودتر بمیرن یا نشونه گیریشون بد باشه!

_________________
-

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

مشکلی در کدنویسی
نويسنده
پيغام
mohcen
کاربر جدید
کاربر جدید


تاريخ عضويت: 2 شنبه 26 ارديبهشت 1390
تعداد ارسالها: 3


جمعه 18 شهريور 1390 - 12:15
پاسخ بصورت نقل قول
كد:
var maximumHitPoints = 100.0;
var hitPoints = 100.0;

var bulletGUI : GUIText;
var rocketGUI : GUITexture;
var healthGUI : GUITexture;

var walkSounds : AudioClip[];
var painLittle : AudioClip;
var painBig : AudioClip;
var die : AudioClip;
var audioStepLength = 0.3;

private var machineGun : MachineGun;
private var rocketLauncher : RocketLauncher;
private var healthGUIWidth = 0.0;
private var gotHitTimer = -1.0;

function Start ()
{
   machineGun = GetComponentInChildren(MachineGun);
   rocketLauncher = GetComponentInChildren(RocketLauncher);
   
   PlayStepSounds();

   healthGUIWidth = healthGUI.pixelInset.width;
}

function ApplyDamage (damage : float) {
   if (hitPoints < 0.0)
      return;

   // Apply damage
   hitPoints -= damage;

   // Play pain sound when getting hit - but don't play so often
   if (Time.time > gotHitTimer && painBig && painLittle)
   {
      // Play a big pain sound
      if (hitPoints < maximumHitPoints * 0.2 || damage > 20)
      {
         audio.PlayOneShot(painBig, 1.0 / audio.volume);
         gotHitTimer = Time.time + Random.Range(painBig.length * 2, painBig.length * 3);
      }
      // Play a small pain sound
      else
      {
         audio.PlayOneShot(painLittle, 1.0 / audio.volume);
         gotHitTimer = Time.time + Random.Range(painLittle.length * 2, painLittle.length * 3);
      }
   }

   // Are we dead?
   if (hitPoints < 0.0)
      Die();
}

function Die ()
{
   if (die)
      AudioSource.PlayClipAtPoint(die, transform.position);
   
   // Disable all script behaviours (Essentially deactivating player control)
   var coms : Component[] = GetComponentsInChildren(MonoBehaviour);
   for (var b in coms)
   {
      var p : MonoBehaviour = b as MonoBehaviour;
      if (p)
         p.enabled = false;
   }

   LevelLoadFade.FadeAndLoadLevel(Application.loadedLevel, Color.white, 2.0);
}

function LateUpdate ()
{
   // Update gui every frame
   // We do this in late update to make sure machine guns etc. were already executed
   UpdateGUI();
}

function PlayStepSounds ()
{
   var controller : CharacterController = GetComponent(CharacterController);

   while (true)
   {
      if (controller.isGrounded && controller.velocity.magnitude > 0.3)
      {
         audio.clip = walkSounds[Random.Range(0, walkSounds.length)];
         audio.Play();
         yield WaitForSeconds(audioStepLength);
      }
      else
      {
         yield;
      }
   }
}


function UpdateGUI ()
{
   // Update health gui
   // The health gui is rendered using a overlay texture which is scaled down based on health
   // - Calculate fraction of how much health we have left (0...1)
   var healthFraction = Mathf.Clamp01(hitPoints / maximumHitPoints);
   // - Adjust maximum pixel inset based on it
   healthGUI.pixelInset.xMax = healthGUI.pixelInset.xMin + healthGUIWidth * healthFraction;

   // Update machine gun gui
   // Machine gun gui is simply drawn with a bullet counter text
   if (machineGun)
   {
      bulletGUI.text = machineGun.GetBulletsLeft().ToString();
   }
   
   // Update rocket gui
   // We use a quicktime movie with 20 frames to display how many are left
   // The alpha of the movie changes every frame thus rockets get masked out when changing the frame.
   if (rocketLauncher)
   {
      var rocketTexture : Texture2D = rocketGUI.texture;
      rocketTexture.frame = rocketLauncher.ammoCount;
   }
}

مشکل این کد چیست ؟
این ارور ها را می دهد.
كد:
Assets/Scripts/FPSPlayer.js(72,9): BCE0005: Unknown identifier: 'LevelLoadFade'.


كد:
Assets/Scripts/FPSPlayer.js(124,31): BCE0019: 'frame' is not a member of 'UnityEngine.Texture2D'.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

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


تاريخ عضويت: 1 شنبه 19 ارديبهشت 1389
تعداد ارسالها: 251
محل سكونت: 127.0.0.1


جمعه 18 شهريور 1390 - 18:08
پاسخ بصورت نقل قول
نقل قول:
چه طوری می تونم یه Textfield داشته باشم توی GUI که فارسی بگیره

یونتی یونیکد utf-16 رو ساپورت می کنه. نوشته رو به صورت یه text asset باید وارد کرد و البته فونت ttf هم به صورت embedded وجود داشته باشه (فونت حتما باهاس باشه). تنها مشکلش اینه که جهت گیریش فقط left to right هست.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر
 

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


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


شنبه 19 شهريور 1390 - 22:47
پاسخ بصورت نقل قول
mohcen, ارور اول - دوست من بنده نمیدونم این LevelLoadFade.FadeAndLoadLevel و به عنوان تابع استفاده کردید یا قصد اجرای فانکشن از اسکریپت دیگه ای رو داشتید . اگر به عنوان تابع استفاده کردید که همچین تابعی تو یونیتی وجود نداره ، اگر هم قصد اجرای فانکشن رو داشتید باید اسکریپی که این فانکشن درون اون هست رو مشخص کنید برای کد( (GetComponent(ScriptName ).


ارور دوم - rocketTexture که در چند خط آخر کد استفاده کردید از جنس Texture2D تعریف شده . Texture2D مشخصه ای به اسم frame رو نداره.

_________________
Email:b_c.info@Yahoo.com
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
Evil Skenedi
در حال رشد
در حال رشد


تاريخ عضويت: شنبه 25 تير 1390
تعداد ارسالها: 28


2 شنبه 21 شهريور 1390 - 10:51
پاسخ بصورت نقل قول
من قصد دارم سبک بازی ام را تغییر بدهم.بنابراین یک دفعه به سبک GTA روی آوردم
تمام تشکیلات آماده است به جز این که من نمی دانم چطور میشه یک شی
به شی دیگر بپیوندد و با آن حرکت کند.البته قبل از Play کردن بازی این
عمل با Drag کردن شی بر روی شی دیگر این کار امکان پذیر است.
سوال این کد مربوط به این کار چیه؟

_________________
http://www.alonegames.co.cc
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي آدرس AIM نام كاربري در پيغامگير Yahoo
 

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


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


2 شنبه 21 شهريور 1390 - 22:22
پاسخ بصورت نقل قول
Evil Skenedi, اگر درست فهمیده باشم شما میخواید با کد زیر مجموعه گیری کنید
به این عمل parent گیری میگن و به صورت زیر استفاده میشه:

كد:

var Mother : Transform;
var Child : Transform;


function Start(){

Child.parent = Mother;
}


با قطعه کد بالا Child زیر مجموعه ی Mother شده و به نسبت حرکت Mother آبجکت Child هم حرکت میکنه.

اگر خواستی Childe زیر مجموعه ی هیچ شی دیگه ای نباشه کافیه از فرم کد زیر استفاده کنی:
كد:

Child.parent=null;




برای تکمیل اطلاعاتت Parent رو در رفرنس جستجو کن.

موفق باشی.

_________________
Email:b_c.info@Yahoo.com
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


 
پرش به:  


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


unity3d

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