نمایش نتایج: از 1 به 3 از 3

موضوع: محدود ساخت دوربین در طول و عرض یپلن

  1. Top | #1

    عنوان کاربر
    تاریخ عضویت
    Sep 2013
    شماره عضویت
    3623
    نوشته ها
    58
    تشکر
    2
    تشکر شده 1 بار در 1 ارسال

    Soal محدود ساخت دوربین در طول و عرض یپلن

    سلام اساتید محترم
    یه سوال داشتم خدمتون
    من یک plane ایجاد کردم که به عنوان پس زمینه بازی دوبعدی مورد استفاده قرار گرفته من به دوربینم قابلیت تاچ اضافه کردم که با لمس جابجا بشه ولی می خوام این جابجایی محدود به پس زمینم بشه یعنی از plane فراتر نره

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;


    public class movescreen: MonoBehaviour {
    Vector3 touchStart;
    public float zoomOutMin = 1;
    public float zoomOutMax = 15;
    public GameObject Grand;
    // Update is called once per frame
    void Update () {

    Debug.Log(Vector3.Distance (Grand.transform.position, Camera.main.transform.position));
    if(Input.GetMouseButtonDown(0)){
    touchStart = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    }
    if(Input.touchCount == 2){
    Touch touchZero = Input.GetTouch(0);
    Touch touchOne = Input.GetTouch(1);


    Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition;
    Vector2 touchOnePrevPos = touchOne.position - touchOne.deltaPosition;


    float prevMagnitude = (touchZeroPrevPos - touchOnePrevPos).magnitude;
    float currentMagnitude = (touchZero.position - touchOne.position).magnitude;


    float difference = currentMagnitude - prevMagnitude;


    zoom(difference * 0.01f);
    }else if(Input.GetMouseButton(0)){



    Vector3 direction = touchStart - Camera.main.ScreenToWorldPoint(Input.mousePosition);
    Camera.main.transform.position += direction;


    }

    zoom(Input.GetAxis("Mouse ScrollWheel"));
    //Vector3 p = new Vector3(Camera.main.transform.position.x, Camera.main.transform.position.y, 0);
    //Grand.transform.position =p;
    if(Camera.main.transform.position.x==(Grand.transform.position.x)+100){

    }

    }


    void zoom(float increment){
    Camera.main.orthographicSize = Mathf.Clamp(Camera.main.orthographicSize - increment, zoomOutMin, zoomOutMax);

    }
    }

    کدم هم اینه
    اگر راهنمایی کنید ممنون میشم
    امضای ایشان


  2. Top | #2

    عنوان کاربر
    تاریخ عضویت
    Jun 2015
    شماره عضویت
    6086
    نوشته ها
    17
    تشکر
    8
    تشکر شده 2 بار در 2 ارسال
    خط 35 بنویس
    کد HTML:
    else if(Input.GetMouseButton(0) && Camera.main.position.x<MaxPlainX && Camera.main.position.x>MinPlainX && Camera.main.position.y<MaxPlainY && Camera.main.position.y>MinPlainY)
    که
    MinPlainX و MaxPlainX کوشه های سمت راست و چپ پلینه.
    ویرایش توسط mohammad1369 : 04-04-2020 در ساعت 03:54 PM

  3. کاربر زیر به خاطر ارسال مفید mohammad1369 از ایشان تشکر کرده است:

    mohsensd1373 (04-05-2020)

  4. Top | #3

    عنوان کاربر
    تاریخ عضویت
    Sep 2013
    شماره عضویت
    3623
    نوشته ها
    58
    تشکر
    2
    تشکر شده 1 بار در 1 ارسال
    نقل قول نوشته اصلی توسط mohammad1369 نمایش پست ها
    خط 35 بنویس
    کد HTML:
    else if(Input.GetMouseButton(0) && Camera.main.position.x<MaxPlainX && Camera.main.position.x>MinPlainX && Camera.main.position.y<MaxPlainY && Camera.main.position.y>MinPlainY)
    که
    MinPlainX و MaxPlainX کوشه های سمت راست و چپ پلینه.
    خیلی سپاس

    یه سوال فنی دیگه چطور UnityWebRequest می تونم بصورت فانکشن return دربیارم یا چطوری می تونم در خواستشو محدود به پاسخ کنم یعنی تا بعد از اینکه جواب درخواست قبلی نیومده اجازه در خواست بعدی به کاربر نده
    بازم تشکر می کنم
    امضای ایشان


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگانی که با جست و جو این صفحه را مشاهده کرده اند:

https:unity3d.irshowthread.phpp=101196#post101196

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •