2012-02-20 3 views
0

Я новичок в программировании на Android и задаю несколько вопросов. Я пытаюсь создать игру-головоломку с черепицей, в которой я должен перемещать квадратные плитки в сетку, и плитки будут автоматически закрепляться на месте. Например, у меня есть квадрат с квадратом 3x3 с 9 позициями. Каждая позиция измеряет 100x100 пикселей. Если я перетащил плитку (также 100x100 пикселей) в любую из девяти позиций внутри сетки, плитка автоматически закрепилась бы внутри области 100x100 пикселей, даже если она немного выключена. Как мне это сделать?Android: Как сделать квадратный клип на сетке

+0

Одна из моих идей для каждой из 9 областей в сетке 3x3 (300x300 пикселей), у меня было бы 9 точек посередине каждой области ((50,50) для 1-й области, (150,50) для 2-го, (250,50) за 3-е, (50 150) за 4-е, ...., (250 250) за 9-е место). Для моей плитки у меня есть позиция в центре моей плитки. Когда я перетаскиваю свою плитку внутри сетки и отпускаю, она вычисляет расстояние между моей плиткой и 9 точками внутри плитки. Для ближайшего положения установите положение, которое моя плитка равна этой позиции (которая зажимает мою плитку в область 100x100). Я думаю, что это плохой способ сделать это, потому что это неэффективно. – iamarnold

ответ

1
x=((int)(x/100))*100 
y=((int)(y/100))*100 

, например, если у вас есть х = у = 140 260 затем

((int)(140/100))*100=100 
((int)(260/100))*100=200 

Из-за (INT) обозначим ((INT) (140/100)) 1 не 1.4, так что точка из этого следует округлить число

Смежные вопросы