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

آموزش ساخت بازی در #C آموزش UDK آموزش مدل سازی در Maya
آموزش ساخت بازی در VB آموزش Unity - پروژه محور آموزش مدل سازی با 3Ds Max
آموزش برنامه نویسی اندروید آموزش Unity - ساخت منو آموزش متحرک سازی در 3Ds Max
آموزش ساخت بازی حدس تصویر آموزش Unity - متحرک سازی مجموعه آموزش های ساخت بازی
● آموزش های رایگان ● تبلیغات دیجیتال هوشمند ● استخدام در فرادرس

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
چرخش گیم آبجکت به سوی کاراکتر
#1
سلام دوستان یه سوال شاید تکراری...

با چه کدی میتونم کاری کنم که یه گیم آبجکت همش روش به کاراکتر باشه؟و هر جا که کاراکتر بره به سمتش بچرخه؟
شاید نه امروز... نه فردا... و نه روز دیگر... اما سرانجام همه چیز درست خواهد شد

بازی ها و نمونه کارهای من:


بازی قلب پرنده
پاسخ
#2

با اسکریپت زیر دشمن همیشه به player نیگا می کنه
کد php:
    // This complete script can be attached to a camera to make it 
    // continuously point at another object.
    
    // The target variable shows up as a property in the inspector. 
    // Drag another object onto it to make the camera look at it.
using UnityEngine;
using System.Collections;

public class 
ExampleClass MonoBehaviour {
    public 
Transform target;
    
    
void Update() {
        
// Rotate the camera every frame so it keeps looking at the target 
        
transform.LookAt(target);
    }

متغیر target از نوع public تعریف شد.
target یعنی هدفی که می خوایم دشمن بهش نگاه کنه.
بنابراین می تونیم اسکریپت رو بندازیم روی دشمن و سپس player رو بکشیم بندازیم روی پارامتر target که به صورت پابلیک ساختیم.
پاسخ
 سپاس شده توسط aliheadari ، sepehr1234
#3
راستی کد بالا برای سه بعدی یااستراتژیک(از نمای بالا) بودا.
اگه دو بعدی می خوای باید از کد transform.localScale=new Vector2(xScale,yScale); استفاده کنی.
xScale و yScale هم در قسمت سراسری تعریف و توی Start() مقدار می دی اینطوری:

در قسمت سراسری:
private float xScale,yScale;

در تابع Start():
xScale = transform.localScale.x;
yScale = transform.localScale.y;

اینم Update() که قبلا گفتم :
کد:
    void Update(){
        if (Input.GetKey(KeyCode.RightArrow)) {
            run=true;
            GetComponent<Rigidbody2D>().velocity=new Vector2(walkSpeed,GetComponent<Rigidbody2D>().velocity.y);
            transform.localScale=new Vector2(xScale,yScale);
        }
        if (Input.GetKey (KeyCode.LeftArrow)) {
            run=true;
            GetComponent<Rigidbody2D>().velocity=new Vector2(-walkSpeed,GetComponent<Rigidbody2D>().velocity.y);
            transform.localScale=new Vector2(-xScale,yScale);
        }
        if (Input.anyKey==false){
            GetComponent<Rigidbody2D>().velocity=new Vector2(0,GetComponent<Rigidbody2D>().velocity.y);
            run=false;
        }
        
        if (animator != null) {
            animator.SetBool ("run", run);
            
        }
        
    }
به جای فلش چپ و راست می تونی شرط دلخواهت رو بذاریwink
پاسخ
 سپاس شده توسط aliheadari ، sepehr1234


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  جابجا کردن آبجکت در فضای 2 بعدی در زاویه مورد نظر Navid_t 1 90 15/4/1397، 11:03 صبح
آخرین ارسال: qwerty13
Question نام آبجکت A.m 10 239 20/3/1397، 01:01 عصر
آخرین ارسال: aminblog76
  دسترسی به زاویه چرخش یک اوبجکت salar1298 4 301 13/4/1396، 07:28 صبح
آخرین ارسال: salar1298
  برخورددوگیم آبجکت jaja 5 410 20/5/1395، 11:44 عصر
آخرین ارسال: jaja
Exclamation ساخت کاراکتر برای یونیتی MoeenTM 1 673 17/5/1395، 01:25 صبح
آخرین ارسال: alexandre9009



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