«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
حرکت دو بعدی پلتفرم به سمت جایی که کلیک یا تاچ کردیم در یونیتی_کد سیشارپ :: گیم اور

گیم اور


خصوصی نظر نذارید نمی تونیم جواب بدیم.

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

لینک کانال خصوصی گیم اور :

https://t.me/gameoverblog

پیوندهای روزانه
پیوندها
منبع:gameover.blog.ir
using UnityEngine;
 using System.Collections;
 //sajjad3011
 public class Indiana2 : MonoBehaviour {
     
     public Vector3 target; // The point user picks for the character to follow
     public bool facingRight = false; // Check where the character is facing
     private int move=0; // Movement direction
     private float maxSpeed = 5f; // Speed of character movement
     private Animator anim; // Reference to the animator
     
     
     // Use this for initialization
     void Start () 
     {
         anim = GetComponent<Animator> ();
     }
 
     void FixedUpdate()
     {
         // Obtaining target point user clicked on screen
         if (Input.GetMouseButton (0))     
         {
             // After user has clicked left mouse button recording mouse position
             Vector3 mousePos = Input.mousePosition;
             // Converting mouse position into coordinate system connected to the camera.
             target = Camera.main.ScreenToWorldPoint (new Vector3 (mousePos.x, mousePos.y, 1f));
 
             // Set movement direction depending on target point
             if (target.x < transform.position.x)
                 move = -1;
             else if (target.x> transform.position.x)
                 move = 1;
             Debug.Log (move);
         }
                 
         // Flip the character if nessessary
         if (move ==1 && ! facingRight)
             Flip ();
         if (move == -1 && facingRight)
             Flip();
         
         // check if arrived to target point
         if (Mathf.Abs (target.x - transform.position.x) < 0.2f)     
         {
             move = 0;
         }
         
         anim.SetInteger ("Movement", Mathf.Abs(move));
         
         // apply velocity to actually make character move
         rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);
         
         
     }
     
     
     void Flip()
     {
         Debug.Log ("In Flip");
         facingRight = !facingRight;
         Vector3 theScale = transform.localScale;
         theScale.x *= -1;
         transform.localScale = theScale;
     }
 }
کد بالا چیز خاصی نداره نقطه ی کلیک رو چک می کنیم اگه x اش بیشتر از پلیر بود move رو مثبت ویلا منفی می کنه.
بعد طبق این mov حرکت به چپ و راست می کنیم خیلی ساده.
تابع Flip() هم بر حسب این mov میاد و localscale رو برای x مثبت منفی می کنه که باعث میشه پلیر به چپ و راست نیگاه کنه.
خط          anim.SetInteger ("Movement", Mathf.Abs(move)); می گه برو تو انیماتور ببین اگه متغیر Movement بود اونو با 1 تنظیم کن که اونجا باس شرط بذارید روی خط انتقال انیمیشن ایستاده به انیمیشن راه رفتن، که اگه مثلا پارامتر Movement یک شد سوئیچ انجام بشه.
Mathf.Abs(move) قدر مطلش متغیر move رو می ده.
حالا چرا قدر مطلق گرفتیم،چون فرقی نداره پلیر به راست یا چپ بخواد بره. در هر دو حالت انیمیشن راه رفتن اجرا می کنیم. فقط localscale رو با کد اومدیم منفی کردیم جایی که حرکت به چپ هست.(یعنی move رو فقط موقع ارسال به انیماتور اومدیم با تابع قدر مطلق Abs مثبت ارسال کردیم)

همه چیزم تر و تمیز نوشتم حالیتون بشه.


واسه درک انیماتور هم اینو بخونید:
http://gameover.blog.ir/1394/04/05/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%DA%A9%D8%A7%D9%86%DB%8C%D9%85-%DB%8C%D8%A7-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7%DB%8C-%D9%BE%D9%86%D8%AC%D8%B1%D9%87-%D8%A7%D9%86%DB%8C%D9%85%D8%A7%D8%AA%D9%88%D8%B1-%DB%8C%D9%88%D9%86%DB%8C%D8%AA%DB%8C-animator
منبع اصلی:
http://answers.unity3d.com/questions/895411/2d-character-controller-for-platformer-with-touch.html
موافقین ۰ مخالفین ۰ ۹۴/۰۸/۲۳
مدیرکل

نظرات (۲)

سلام من یک پکیج Cartoon UI نیاز دارم
قبلا گفته بودید پکیج های مورد نیازمون رو بگیم ، چند تا در استور یونیتی هست اگر بتونی بزاری خیلی مچکر کارم راه میفته
ممنون از لطفت
https://www.assetstore.unity3d.com/en/#!/content/39532
https://www.assetstore.unity3d.com/en/#!/content/38836
https://www.assetstore.unity3d.com/en/#!/content/44103
پاسخ:
سلام
بعضی هاشون هنوز ریلیز نشده.
باید دنبال تورنت باشید.
برنامه ی uTorrent رو دانلود کنید.
-
چون سرعت و حجم اینترنتم کمه مجبورم چند سایت تورنت بهتون معرفی کنم.
سایت هایی زیر بعضی از این تورنت ها رو می ذارن که تا برداشته نشده می تونید دانلود کنید.
البته بعضی لینک ها شیلتر هست و لینک فایل تورنت رو بعد از دانلود به شیلتر فکن،می تونید بدید به uTorrent تا دانلود کنه.
http://www.tangent60.com/torrents/un/unity-asset-toony-lite.html
https://kat.cr/
http://torrentsum.com/
-

مچکر دوست عزیزمن خودم از تورنت دانلود می کنم ولی این 3 پکیج رو پیدا نکردم ، اگر پکیجی از ui  بازی های موبایل داری آپ کنید لطف کردید
یا علی
پاسخ:
چشم.اگه پلاگین  خوبی پیدا کنم که خودم مسلط بشم بهش و چیز مفید و راحت و بهینه ای باشه آموزش می دم.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی