カードをシャッフルして10枚をユーザーに配り
クリックしたカードを場に捨てる
までできました。
シャフル。スワップを20回程度
for(i=0;i<=20;i++) { int c1=Random.Range (1, 52); int c2=Random.Range (1, 52); int tmp = cardNo[c1]; cardNo[c1]=cardNo[c2]; cardNo[c2]=tmp; }
クリックしたカードを場に動かす。
マウスのX座標で判定してもいいんですが、タワーディフェンスでやっていた光線飛ばしてObject特定でやってみました。これなら、カメラ移動をしてもカード選択ができます。
場にはbaというObjcet置いてるので、そこに移動します。
大富豪なら、場の最上面より強いカードしか捨てられないので、そこにロジックを入れることになります。
void Update () { if (Input.GetMouseButtonDown(0) ) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); Physics.Raycast(ray, out hit); if (Physics.Raycast(ray, out hit)) { Debug.Log("hit card"); mycard = hit.collider.gameObject; } } if(mycard) { Vector3 pos = mycard.transform.position; pos.x -= speed * Time.deltaTime * (mycard.transform.position.x-ba.transform.position.x); pos.y -= speed * Time.deltaTime * (mycard.transform.position.y-ba.transform.position.y); mycard.transform.position = pos; } }