废话少说 直接上代码 这个脚本的名字叫Majiang.cs
当然我还有啰嗦一句 加上行代码 在之前《鼠标悬停时间更加实用》中的shubiaoxuanting.cs的脚本
void OnMouseDown() 中加入Majing.insdence.Mj_play ();
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
public class Majing : MonoBehaviour {
public static Majing insdence;
//麻将的预制体 用于取出预制体
GameObject mj_p;
GameObject mj_psi;
//用于取到被打麻将的坐标
public GameObject mj_fuzhu;
//存放麻将位置的数组 储存v3
ArrayList mj_arrposi=new ArrayList ();
// Vector3 mj_arrposi = new Vector3 (40);
//麻将的位置
float mj_xdis;
float mj_zdis;
int mj_index=0;
void Awake(){
insdence = this;
}
void Start () {
//取到去要预制的麻将
mj_p = Resources.Load ("mj_Prefab")as GameObject;
// GameObject mj_p = Instantiate (mj_p, mj_p.transform.position, Quaternion.identity) as GameObject ;
//第一个打出去的麻将的位置是 -1.8f,0,-2.3f x轴依次加上0.3f x轴依次加上0.5f
mj_zdis = -2.3f;//将Y轴进行初始化的赋值
//将位置的坐标存放在数组里 4排
for (int i = 0; i < 4; i++) {
mj_xdis = -2.1f;//给X轴初始化赋值
//每排有9个
for(int j=0;j<9;j++) {
//加上0.3f
mj_xdis += 0.3f;
// mj_p.transform.position = new Vector3 (mj_xdis, 0, -2.3f);
//将生成的位置加入数组中
mj_arrposi.Add (new Vector3 (mj_xdis, 0, mj_zdis));
Debug.Log (new Vector3 (mj_xdis, 0, mj_zdis));
}
//对行换距离
mj_zdis -= 0.5f;
}
Debug.Log (mj_arrposi.Count);
}
public void Mj_play (){
GameObject mj_ = Instantiate (mj_p, mj_fuzhu.transform.position, Quaternion.identity)as GameObject;
//将预制出来的要打出去的麻将 翻转成90度
Vector3 rotation =mj_.transform.localEulerAngles;
rotation.x = 90; // 在这里修改坐标轴的值
rotation.y = 0;
rotation.z = 0;
//将旋转的角度赋值给预制出来需要打出去的麻将
mj_.transform.localEulerAngles = rotation;
Debug.Log (mj_arrposi [mj_index]);
mj_.transform.DOMove ((Vector3 )mj_arrposi[mj_index],0.3f).SetEase (Ease.InSine);
mj_index++;
}
// Update is called once per frame
void Update () {
}
}