我要做的是创建一个手写应用程序,允许用户按下对象(圆圈)并在设定的路径上向上/向下移动。如果用户到达最低点,则创建另一个圆形对象,并创建另一组点以跟随等。
到目前为止,我有一个onTouch事件,它将我的ImageView对象(圆圈)移动到手指在触摸屏上的位置。
https://gist.github.com/Temptex/9796403
如何让我的ImageView(Circle)对象从A点开始 - > B顺利使用onTouch事件?
编辑:我要问的图片示例:http://imgur.com/kjgGcba
答案 0 :(得分:0)
为它创建了一个算法。
创建一个x整数和y整数的数组,并使用for循环检查对象是否为高(y坐标中的界限越大)并检查y和x是否超出数组中的界限。
如果它超出了整数数组的范围,请将其设置为当前的x / y数组值。在for循环中。
如果这有助于这里的任何人是代码:
private final int yCoOrdinate[] = {310, 360, 410};
private final int xCoOrdinate[] = {905, 890, 875};
// Get finger position
int x = (int)event.getRawX();
int y = (int)event.getRawY();
// View x/y co-ordinate on TextView
coordinates.setText("X = " + x + " - Y = " + y);
for(int i = 0; i < yCoOrdinate.length; i++) {
// If object is to high set it to yCoOrdinate[0]
if(y <= yCoOrdinate[0]) {
y = yCoOrdinate[0];
}
// Checks top left corner of A
if(y == yCoOrdinate[0] && x <= xCoOrdinate[0]) {
x = xCoOrdinate[0];
Log.d("Coordinate check", "X = " + x + "Y = " + y);
// Checks if current x/y position if out of bounds and sets them to i
} else if (y <= yCoOrdinate[i] && x <= xCoOrdinate[i]) {
y = yCoOrdinate[i];
x = xCoOrdinate[i];
Log.d("Coordinate check", "X = " + x + "Y = " + y);
}
}
我现在可以在界限内控制我的ImageView。