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

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

امتیاز موضوع:
  • 6 رأی - میانگین امتیازات: 4.33
  • 1
  • 2
  • 3
  • 4
  • 5
کد های یونیتی
#1
با سلام
اگه آقا مجید اجازه بدن این در این تاپیک هرکی کدی از یونیتی جه جاوا چه سی شارپ و حتی زبان برنامه نویسی بوو میدونه اینجا بگذاره (اگه فکر می کنید تخصصیه و بدرد کسی می خوره)

.

مثل این :

آموزش درست کردن حرکت یک آبجکت پلیر. (حرکت به سوی چهار طرف)
کد:
//ProMakers
function Update()
{
    var x : Vector3 = Input.GetAxis("Vertical") * transform.right * speed * Time.deltaTime;
    var z : Vector3 = Input.GetAxis("Horizontal") * transform.forward * speed * Time.deltaTime;
    transform.Translate(x+z);
}

با تشکر
اگه هم نشد لطفاً خود آقا مجید یکی مثل این تاپیک درست کنه . واقعاً لازمه.
پاسخ
 سپاس شده توسط Majid ، رضا النصار ، fabio1375 ، armin ، aminblog76 ، Milad_Hyper ، tirnam ، mediose ، avesta ، mohammadali1375 ، Sinan ، mzr ، qwerty13 ، khazande ، taha_mct ، shahin67 ، Amirns ، f_kh ، aminzamani68 ، moien1 ، امیرحسین گیمر ، hossien021 ، yasa ، spark ، Ali-reza8448 ، Ali-reza8448v2
#2
بفرما منم یکی الان نوشتم !
کد نارنجک + توضیح فارسی .
کد php:
using UnityEngine;
using System.Collections;

/// <summary>
/// کلاس نارنجک
/// </summary>
public class CGerenade MonoBehaviour
{
    
/// <summary>
    ///نیروی انفجار
    /// </summary>
    
public float explosion_force;
    
/// <summary>
    ///شعاع انفجار
    /// </summary>
    
public float explosion_radius;
    
/// <summary>
    ///حالت اعمال نیرو 
    /// </summary>
    
public ForceMode explosion_forceMode;
    
/// <summary>
    ///ابجکتی که هنگام انفجار ایجاد خواهد شد
    /// </summary>
    
public GameObject explosion_Object;
    
/// <summary>
    /// لایه ی ابجکت هایی که نیری انفجار را دریافت می کنند
    /// </summary>
    
public LayerMask explosion_layer;
    
/// <summary>
    /// صدای انفجار
    /// </summary>
    
public AudioClip explosion_sound;


    
/// <summary>
    ///تابع انفجار
    /// </summary>
    
public void Explode()
    {
        
//پخض صدای انفجار
        
if(explosion_sound)
            
AudioSource.PlayClipAtPoint(explosion_soundtransform.position);
        
//ایجاد افکت انفجار
        
if(explosion_Object)
            
Instantiate(explosion_Objectthis.transform.positionQuaternion.identity);
        
// غیر فعال کردن کالیدر
        
if(this.collider)
            
this.collider.enabled false;
        
//بدست اوردن ابجکت هایی که باید نیروی انفجار به انها اعمال شود
        
Collider[] l_colliders Physics.OverlapSphere(this.transform.positionthis.explosion_radiusexplosion_layer.value);
        foreach (
Collider item in l_colliders)
        {
            
//اعمال نیروی انفجار به شی
            
if (item.rigidbody)
                
item.rigidbody.AddExplosionForce(explosion_forcethis.transform.positionexplosion_radius1explosion_forceMode);
        }
        
//از بین رفتن این ابجکت 
        
Destroy(this.gameObject);
    }

-
فقط امیدورام کسی Ctrl+C & Ctrl+V نکنه ! یاد بگیره !smiley
اینم کد اصلحه فیزیک برای نیرو وارد کردن به اجسام !
اینو به نک اصلحه بدین !smiley
کد php:
using UnityEngine;
using System.Collections;

public class 
CPhysicsGun MonoBehaviour
{
    public 
float force 16.0f;
    public 
ForceMode forceMode ForceMode.Impulse;

    
void Update () 
    {
        if (
Input.GetMouseButtonDown(0))
        {
            
Ray l_ray = new Ray(this.transform.positionthis.transform.TransformDirection(Vector3.forward));
            
RaycastHit l_hit;
            if (
Physics.Raycast(l_rayout l_hit1024.0f))
            {
                if (
l_hit.rigidbody)
                    
l_hit.rigidbody.AddForceAtPosition(l_ray.direction*forcel_hit.pointforceMode);
            }
        }
    }
    
void OnDrawGizmos()
    {
        
Gizmos.DrawRay(this.transform.positionthis.transform.TransformDirection(Vector3.forward)*force);
    }


اینم کد اصلحه فیزیک برای نیرو وارد کردن به اجسام !
اینو به نک اصلحه بدین !smiley
کد php:
using UnityEngine;
using System.Collections;

public class 
CPhysicsGun MonoBehaviour
{
    public 
float force 16.0f;
    public 
ForceMode forceMode ForceMode.Impulse;

    
void Update () 
    {
        if (
Input.GetMouseButtonDown(0))
        {
            
Ray l_ray = new Ray(this.transform.positionthis.transform.TransformDirection(Vector3.forward));
            
RaycastHit l_hit;
            if (
Physics.Raycast(l_rayout l_hit1024.0f))
            {
                if (
l_hit.rigidbody)
                    
l_hit.rigidbody.AddForceAtPosition(l_ray.direction*forcel_hit.pointforceMode);
            }
        }
    }
    
void OnDrawGizmos()
    {
        
Gizmos.DrawRay(this.transform.positionthis.transform.TransformDirection(Vector3.forward)*force);
    }

XEngine
پاسخ
 سپاس شده توسط armin ، aminblog76 ، Milad_Hyper ، tirnam ، mediose ، avesta ، ErfanAhmadi ، M2_DR ، mzr ، khazande ، imans77 ، shahin67 ، aminzamani68 ، yasa ، Ali-reza8448v2
#3
این کد جاوا هم برای اینه که وقتی پلیر از یه ارتفاع سقوط میکنه و یا از حاشه trrain بیرون میوفته دوباره پلیر رو به نقطه مشخص شده بر میگردونه.

کد php:
function Update ()
{
  
  if( 
transform.position.< -20)
  {
  
transform.position.10;
  
transform.position.10;
  
transform.position.10;
  
  }




یه نکته کوچولو در مورد این کد:
y خودمو 10 انتخاب کردم چون همیشه عدات دارم تو بازی هام برای جلوگیری از باگ های احتمالی فرو رفتگی تو زمین زیر trrain خودمو از یک آبجکت دیگه استفاده کنم بنابراین سطح trrain من همیشه بالاتره.(یک نکته ی آموزشی از Joun feil کسی که تو کارنامه ی خودش بازی هایی مثل Forza و Star Wars رو داره.)
مرا به جاهایی ببر که تا به حال نرفته باشم،به چیزی تبدیلم کن که هیچوقت نمیتوانم باشم و بگذار کارهایی کنم که هیچوقت نخواهم کرد

Tim Schafer
پاسخ
 سپاس شده توسط avesta ، ErfanAhmadi ، aminblog76 ، Teapot ، mzr ، f_kh ، Ali-reza8448v2
#4
این هم کد باز شدن در هست که به محض اینکه پلیر به در برخور کنه انیمیشن باز شدن در که قبلا مشخص شده رو اجرا میکنه،فقط توصیه خودم اینه که انیمیشن در یا به صورت کشویی یا کرکره ای باشه یا در جهت حرکت پلیر باز بشه(برای اینکه پلیر به در برخورد نکنه).
کد php:
function OnControllerColliderHit(hit ControllerColliderHit)
{
 
 if ( 
hit.gameObject.tag == "door" )
 {
 
hit.gameObject.animation.Play("door_open");
 }




این یکی هم برای باز شدن در هست با این تفاوت که دارای محدوده هست و مثلا وقتی که به شعاع 2 متری در میرسیم در برای ما باز میشه.

کد php:
function Update()
{
  var 
hit RaycastHit;
  
  if(
Physics.Raycast(Transform.position Transform.forward hit 2))
  {
  if ( 
hit.gameObject.tag == "door" ){hit.gameObject.animation.Play("door_open");}
  } 



تگ کردن در هم فراموش نشه!cool
مرا به جاهایی ببر که تا به حال نرفته باشم،به چیزی تبدیلم کن که هیچوقت نمیتوانم باشم و بگذار کارهایی کنم که هیچوقت نخواهم کرد

Tim Schafer
پاسخ
 سپاس شده توسط ErfanAhmadi ، avesta ، mzr ، khazande ، kiyomars ، aminzamani68 ، f_kh ، Ali-reza8448v2
#5
کد روشن و خاموش کردن چراغ قوه + تنظیم روشنایی نور:

در یکی از آبجکت ها مانند پوینت لایت قرار داده بشود.
کد:
private var on = false;
var myLightColorValue : float = 4.0;
function Update(){
    //__________ColorChanging________________________________________________________
    if(Input.GetKey("z"))
    {
        light.color += Color.white / myLightColorValue * Time.deltaTime;
    }
    if(Input.GetKey("x"))
    {
        light.color -= Color.white / myLightColorValue * Time.deltaTime;
    }
    
    //_________OFF/ON__________________________________________________________
    
    if (Input.GetKeyDown("f"))
    {
        if(on)
        {
            light.intensity = 0.0;
            on = false;
            }
        else{
            light.intensity = 1.0;
            on = true;
        }
        }
    }
    //ErfanAhmadi
    //ProMakers
پاسخ
 سپاس شده توسط mediose ، aminblog76 ، avesta ، mzr ، aminzamani68 ، Ali-reza8448v2
#6
کد نگاه کردن جسم به بازیگر یا هر جسمی که به اون نسبت می دید

کد php:
var lookAtTarget Transform ;

function 
Update () {

transform.LookAt(lookAtTarget);




[/quote]

پاسخ
 سپاس شده توسط Teapot ، avesta ، mzr ، aminzamani68 ، f_kh
#7
(7/8/1391، 05:17 عصر)mediose نوشته است: این هم کد باز شدن در هست که به محض اینکه پلیر به در برخور کنه انیمیشن باز شدن در که قبلا مشخص شده رو اجرا میکنه،فقط توصیه خودم اینه که انیمیشن در یا به صورت کشویی یا کرکره ای باشه یا در جهت حرکت پلیر باز بشه(برای اینکه پلیر به در برخورد نکنه).
کد php:
function OnControllerColliderHit(hit ControllerColliderHit)
{
 
 if ( 
hit.gameObject.tag == "door" )
 {
 
hit.gameObject.animation.Play("door_open");
 }




این یکی هم برای باز شدن در هست با این تفاوت که دارای محدوده هست و مثلا وقتی که به شعاع 2 متری در میرسیم در برای ما باز میشه.

کد php:
function Update()
{
  var 
hit RaycastHit;
  
  if(
Physics.Raycast(Transform.position Transform.forward hit 2))
  {
  if ( 
hit.gameObject.tag == "door" ){hit.gameObject.animation.Play("door_open");}
  } 



تگ کردن در هم فراموش نشه!cool
با سلام
اگه می شه توضیح بدید در رو چطور tag کنم
آخه من تازه کارم
:">

پاسخ
 سپاس شده توسط Ahmad_ ، ErfanAhmadi ، avesta ، aminzamani68
#8
(17/8/1391، 01:56 عصر)Teapot نوشته است:
(7/8/1391، 05:17 عصر)mediose نوشته است: این هم کد باز شدن در هست که به محض اینکه پلیر به در برخور کنه انیمیشن باز شدن در که قبلا مشخص شده رو اجرا میکنه،فقط توصیه خودم اینه که انیمیشن در یا به صورت کشویی یا کرکره ای باشه یا در جهت حرکت پلیر باز بشه(برای اینکه پلیر به در برخورد نکنه).
کد php:
function OnControllerColliderHit(hit ControllerColliderHit)
{
 
 if ( 
hit.gameObject.tag == "door" )
 {
 
hit.gameObject.animation.Play("door_open");
 }




این یکی هم برای باز شدن در هست با این تفاوت که دارای محدوده هست و مثلا وقتی که به شعاع 2 متری در میرسیم در برای ما باز میشه.

کد php:
function Update()
{
  var 
hit RaycastHit;
  
  if(
Physics.Raycast(Transform.position Transform.forward hit 2))
  {
  if ( 
hit.gameObject.tag == "door" ){hit.gameObject.animation.Play("door_open");}
  } 



تگ کردن در هم فراموش نشه!cool
با سلام
اگه می شه توضیح بدید در رو چطور tag کنم
آخه من تازه کارم
:">
کاری نداره از منویه ادیت بعدش هم ProjectSetting >> Tags می تونید تگ رو اضافه کنید . wink
پاسخ
 سپاس شده توسط avesta ، Teapot ، aminzamani68 ، mohamada365
#9
از بین رفتن شی بعد از مدت زمان مشخص در بازی

کد php:
var lifttime=1.0;

function 
Awake()
{
Destroy(gameObjectlifttime;)

پاسخ
 سپاس شده توسط REZA78 ، mzr ، aminzamani68 ، f_kh
#10

کد php:
//MOVE CARACTER PROFESSIONAL
transform.position += new Vector3(Input.GetAxis("Horizontal") , transform.position.,Input.GetAxis("Vertical") ) ; 
پاسخ
 سپاس شده توسط aminzamani68 ، yasa


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Star آموزش یونیتی از سایت یونیتی ali.z 0 27 25/4/1396، 03:49 عصر
آخرین ارسال: ali.z



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