public void DragEnd() { MapScene m1 = manager.GetComponent <MapScene>(); double zoomPow = Math.Pow(2, m1.zoom) * 0.4266666666; Vector3 TapPos = Input.mousePosition; TapPos.z = 10f; map.GetComponent <RectTransform>().localPosition = startMapLocalPosition + TapPos - startPos; m1.longitude -= (TapPos.x - startPos.x) / (2.05993652344 * zoomPow * Math.Cos(m1.latitude * (Math.PI / 180))); m1.latitude -= (TapPos.y - startPos.y) / (2.05993652344 * zoomPow); while (m1.longitude >= 180) { m1.longitude -= 360; } while (m1.longitude < -180) { m1.longitude += 360; } //緯度経度を計算(latitudeとlongitudeに代入) // targetX = (float)((longitude - longitudeMap) * 2.05993652344 * zoomPow * Math.Cos(latitude * (Math.PI / 180))); // targetY = (float)((latitude - latitudeMap) * 2.05993652344 * zoomPow); //緯度経度をインプットフィールドに入力 if (m1.selectNum == 0) { longitudeInput = GameObject.Find("InputFieldB"); latitudeInput = GameObject.Find("InputFieldA"); } else { longitudeInput = GameObject.Find("InputField2"); latitudeInput = GameObject.Find("InputField1"); } if (longitudeInput != null) { longitudeInput.GetComponent <InputField>().text = m1.longitude.ToString(); latitudeInput.GetComponent <InputField>().text = m1.latitude.ToString(); } //マップ範囲外になりそうなら再読み込み m1.GetMap(); }
public void PushIventButton() { MapScene m1 = GameObject.Find("GameObject").GetComponent <MapScene>(); m1.selectNum = buttonNum; this.GetComponent <Image>().color = new Color(1.0f, 1.0f, 0); m1.SetIvent(); try { m1.GetMap(); }catch { } if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) { if (m1.selectBefore >= 0) { if (m1.selectNum > 0) { if (m1.selectNum > m1.selectBefore) { for (int i = m1.selectBefore; i < m1.selectNum; i++) { m1.multiSelect.Add(i); m1.objIB[i].GetComponent <Image>().color = new Color(1.0f, 1.0f, 0); } } if (m1.selectNum < m1.selectBefore) { for (int i = m1.selectBefore; i > m1.selectNum; i--) { m1.multiSelect.Add(i); m1.objIB[i].GetComponent <Image>().color = new Color(1.0f, 1.0f, 0); } } m1.selectBefore = -1; } else { foreach (GameObject tmpObj in m1.objIB) { if (tmpObj != m1.objIB[m1.selectNum]) { tmpObj.GetComponent <Image>().color = new Color(1.0f, 1.0f, 1.0f); } } } } else { if (m1.selectNum > 0) { m1.selectBefore = m1.selectNum; foreach (GameObject tmpObj in m1.objIB) { if (tmpObj != m1.objIB[m1.selectNum]) { tmpObj.GetComponent <Image>().color = new Color(1.0f, 1.0f, 1.0f); } } m1.multiSelect.Clear(); }//スタート座標を複数選択に含まれると困るので、0は抜く。 } } else { m1.selectBefore = -1; m1.multiSelect.Clear(); foreach (GameObject tmpObj in m1.objIB) { if (tmpObj != m1.objIB[m1.selectNum]) { tmpObj.GetComponent <Image>().color = new Color(1.0f, 1.0f, 1.0f); } } } }