// Use this for initialization void Start() { A = GameObject.Find("WallyStation").GetComponent <Transform>(); fm = GameObject.Find("Flag").GetComponent <FlagMove>(); rig = gameObject.GetComponent <Rigidbody2D>(); anim = gameObject.GetComponent <Animator>(); rig.gravityScale = 0; target = this.transform.position + new Vector3(20, 20, 0); //추적할 오브젝트 fireTime = Time.fixedTime; float anispeed = Random.Range(0.7f, 1); //0.7~1 사이의 랜덤값을 this.gameObject.GetComponent <Animator>().speed = anispeed; //생성될 물체(동전)의 애니메이션 재생 속도로 선언 int random = Random.Range(0, 100); //랜덤값을 이용, 1.오른쪽 2.왼쪽 3.직선 방향으로 이동할 지 정한다 homingAngleV = Random.Range(10, 20); //랜덤값을 이용, 호밍 각도 변화량을 정한다 speedA = Random.Range(10, 15); //랜덤값을 이용, 초기 이동속도를 정한다 if (random >= 0 && random < 0) //왼족 회전 이동시 { left = true; right = false; straight = false; homingAngle = 1.0f; } else if (random >= 0 && random <= 100) //오른쪽 회전 이동시 { left = false; right = true; straight = false; homingAngle = 1.0f; } else { left = false; right = false; straight = true; } if (straight) //직선 이동시 { int random1 = Random.Range(10, 20); speedA += random1; } }
public static void SubFlag(this FlagMove param, FlagMove flag) { param &= ~flag; }
public static void AddFlag(this FlagMove param, FlagMove flag) { param |= flag; }
public static bool IsFlag(this FlagMove param, FlagMove flag) { //motionFlags.HasFlagはバーストできないので != 0で代用 return((param & flag) != 0); }
public static bool IsFlag(this FlagMove param, FlagMove flag) => (param & flag) != 0;