کانال تخصصی یونیتی ( آموزش و نکته )
1.76K subscribers
549 photos
146 videos
51 files
251 links
به نام خدا

مسئولیت مطالب یا آگهی ارسالی در کانال یا کامنت ها به عهده من یا ما نیست

لیست گروه ها و...
https://t.me/UnityEngine3D/823

برای تبلیغ در کانال و گروه :
https://t.me/UnityEngine3DAds

مدیر اصلی(مالک)
@UnityEngine
Download Telegram
bazaar-unity3d-store-v1.8.unitypackage
282.4 KB
🔸 پکیج کاربردی استفاده از پرداخت درون برنامه ای.

🌐 در مارکت بازار 🌐
🔶 #یونیتی

رفتن به مرحله ی دلخواه با کلیک روی باتن

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Move : MonoBehaviour {

public Button btn1;

void Start () {
btn1.onClick.AddListener(TaskOnClick);
}

void TaskOnClick(){
SceneManager.LoadScene(" اسم مرحله دلخواه");
}

}
@UnityEngine
#یونیتی
آموزش ساخت صفحه لودینگ در یونیتی
@UnityEngine
آموزش پرداخت درون برنامه ای سایت ایران اپس
s6.picofile.com/file/8205313350/Untitled_13.mp4.html
قسمت 1☝️☝️☝️
s3.picofile.com/file/8205315000/Untitled_14.mp4.html
قسمت 2☝️



#یونیتی
@UnityEngine
Untitled 5.rar
15.5 MB
قسمت اول اموزش ساخت منوی استارت و منوی مراحل در یونیتی
#یونیتی
@UnityEngine
Untitled 6.rar
18.3 MB
قسمت دوم اموزش ساخت منوی استارت و منوی مراحل در یونیتی
#یونیتی
@UnityEngine
Untitled 7 (2).rar
24.2 MB
قسمت سوم اموزش ساخت منوی استارت و منوی مراحل در یونیتی
#یونیتی
@UnityEngine
Untitled 8 (2).rar
20.1 MB
قسمت چهارم اموزش ساخت منوی استارت و منوی مراحل در یونیتی
#یونیتی
@UnityEngine
Untitled 9 (2).rar
32.6 MB
قسمت اخر اموزش ساخت منوی استارت و منوی مراحل در یونیتی
#یونیتی
@UnityEngine
دوستان کانال رو تبلیغ کنید❤️❤️
کانال رسید به 110 تا
پکیج سوپر ماریو رو میزارم
OnlineTank.rar
143.6 MB
آموزش ساخت بازی آنلاین تانکی در یونیتی
#یونیتی
@UnityEngine
برای اینکه بتونیم از این کد ها استفاده کنیم ابتدا باید دوتا شی ایجاد کنیم . مثلا دو مکعب ایجاد می کنیم به نام Enemy و Player.
حالا یک فایل سی شارپ با نام EnemyAI ایجاد می کنیم ( توجه کنید که حتما اسمش این باشه ). کد زیر رو توش کپی می کنیم.

کد:
using UnityEngine;
using System.Collections;


public class EnemyAI : MonoBehaviour {
public Transform target;
public int moveSpeed;
public int rotationSpeed;
public int maxdistance;

private Transform myTransform;

void Awake(){
myTransform = transform;
}




void Start () {
GameObject go = GameObject.FindGameObjectWithTag("Player");

target = go.transform;

maxdistance = 2;
}



void Update () {
Debug.DrawLine(target.position, myTransform.position, Color.red);



myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed * Time.deltaTime);

if(Vector3.Distance(target.position, myTransform.position) > maxdistance){
//Move towards target
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;

}
}
}
فایل رو سیو می کنیم و به شی Enemy مرتبطش می کنیم و شی Player رو به عنوان هدف بهش معرفی کرده و مقادیر سرعت حرکت سرعت چرخش و میزان فاصلشو با شی مورد نظر مشخص می کنیم.

@UnityEngine

خب حالا یک فایل C# دیگه با نام PlayerHealth ساخته و کد زیر رو درش کپی می کنیم.

کد:
using UnityEngine;using System.Collections;


public class PlayerHealth : MonoBehaviour {
public int maxHealth = 100;
public int curHealth = 100;

public float healthBarLength;




void Start () {
healthBarLength = Screen.width / 2;
}



void Update () {
AddjustCurrentHealth(0);

}


void OnGUI(){
GUI.Box(new Rect(10, 10, healthBarLength, 20), curHealth + "/" + maxHealth);
}


public void AddjustCurrentHealth(int adj) {
curHealth += adj;

if(curHealth < 0)
curHealth = 0;

if(curHealth > maxHealth)
curHealth = maxHealth;

if(maxHealth < 1)
maxHealth = 1;

healthBarLength = (Screen.width / 2) * (curHealth / (float)maxHealth);
}
}
حال فایل رو سیو می کنیم و به شی Player متصلش می کنیم و میزان سقف خون ، میزان خون حال حاضر و طول میزان خونی که در صفحه نمایش نمایش داده میشه که البته نیازی به تعیین این نیست و خودش اتوماتیک تعیین میشه.

خب حالا نوبت به حمله دشمن میرسه . یک فایل با نام EnemyAttack می سازیم و کد زیر رو درش کپی می کنیم.

کد:
using UnityEngine;using System.Collections;


public class EnemyAttack : MonoBehaviour {
public GameObject target;
public float attackTime;
public float coolDown;





void Start () {
attackTime = 0;
coolDown = 2.0f;

}



void Update () {
if(attackTime > 0)
attackTime -= Time.deltaTime;

if(attackTime < 0)
attackTime = 0;


if(attackTime == 0) {
Attack();
attackTime = coolDown;
}

}

private void Attack() {
float distance = Vector3.Distance(target.transform.position, transform.position);


Vector3 dir = (target.transform.position - transform.position).normalized;
float direction = Vector3.Dot(dir, transform.forward);


if(distance < 2.5f) {
if(direction > 0) {
PlayerHealth eh = (PlayerHealth)target.GetComponent("PlayerHealth");
eh.AddjustCurrentHealth(-10);
}
}
}
}
بعد از اینکار فایل رو ذخیره کرده و به شی دشمن نسبت میدیم و شی هدف که همون Player هست رو بهش معرفی کرده و مقدار زمان حمله و زمان آماده سازی رو براش تعیین می کنیم.

حالا بازی رو اجرا می کنیم و میبینیم که به دنبال پلیر میفته تا نگیردشم ول کن نیستش.
@UnityEngine
#یونیتی
👍1