Помощь новичкам

Tantrixx
Posts: 119
Joined: Sun Nov 22, 2015 11:24 am
My devices: iPhone 5

Re: Помощь новичкам

Post by Tantrixx »

Уважаемые форумчане, подскажите или направьте, сам не пойму. Мне нужно, чтоб спрайт в ограниченном месте передвигался, но не просто передвигался, а с шагом равным 24.

Code: Select all

GET TOUCH 0 AS x10,y10
IF x10>35.5 THEN
IF y10>68 THEN
IF x10<242.5 THEN
IF y10<208 THEN
IF SPRITE_HIT ("1ship10",x10,y10)=1 THEN

SPRITE "1ship10" AT x10,y10 

ENDIF ! ENDIF ! ENDIF ! ENDIF ! ENDIF
Пространство я нашёл, как ограничить, а вот шаг 24 никак не могу сделать :(

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Помощь новичкам

Post by MARK99 »

Tantrixx wrote:Уважаемые форумчане, подскажите или направьте, сам не пойму. Мне нужно, чтоб спрайт в ограниченном месте передвигался, но не просто передвигался, а с шагом равным 24.

Code: Select all

GET TOUCH 0 AS x10,y10
IF x10>35.5 THEN
IF y10>68 THEN
IF x10<242.5 THEN
IF y10<208 THEN
IF SPRITE_HIT ("1ship10",x10,y10)=1 THEN

SPRITE "1ship10" AT x10,y10 

ENDIF ! ENDIF ! ENDIF ! ENDIF ! ENDIF
Пространство я нашёл, как ограничить, а вот шаг 24 никак не могу сделать :(
Ну это можно записать в таком виде:

Code: Select all

GET TOUCH 0 AS x10,y10
IF x10>35.5 And y10>68 And x10<242.5 And y10<208 and SPRITE_HIT ("1ship10",x10,y10)=1 THEN

SPRITE "1ship10" AT x10,y10 

ENDIF ! ENDIF ! ENDIF ! ENDIF ! ENDIF
А условие с шагом как то невнятно пояснено...
Ты хочешь с шагом- это похоже на сетку, в которой передвигается твой спрайт с шагом равной длине ячейки сетки.

Ну, например, у тебя круглый оранжевый спрайт, и ты хочешь, чтобы он ходил с шагом равным h, то это будет выглядеть примерно так: см.рис.
Тогда в этом случае ты перемещаешь спрайт пальцем, а потом делаешь проверку на принадлежность спрайта ячейки , и уже программно перемещаешь спрайт в ячейку, чтобы он не находился между.
Attachments
image.png
image.png (273.38 KiB) Viewed 6914 times
Image

Tantrixx
Posts: 119
Joined: Sun Nov 22, 2015 11:24 am
My devices: iPhone 5

Re: Помощь новичкам

Post by Tantrixx »

Спасибо за ответ :)
Ты прав, по клеткам и нужно перемещать. 10х10 клеток, это нужно прописывать каждую клетку? Если в её области появился спрайт, то х10 равен той клетке и y10 равен той клетке? И так 100 раз? Это меня и смутило. По этому искал, как передвигать с шагом 23, то есть по клетке.
Я не знаю как работает touch_x (0), может с ним получилось бы сделать такое движение?

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Помощь новичкам

Post by MARK99 »

Tantrixx wrote:Спасибо за ответ :)
Ты прав, по клеткам и нужно перемещать. 10х10 клеток, это нужно прописывать каждую клетку? Если в её области появился спрайт, то х10 равен той клетке и y10 равен той клетке? И так 100 раз? Это меня и смутило. По этому искал, как передвигать с шагом 23, то есть по клетке.
Я не знаю как работает touch_x (0), может с ним получилось бы сделать такое движение?
Ты хочешь касанием пальца перемещать по клеткам спрайт?
Image

Tantrixx
Posts: 119
Joined: Sun Nov 22, 2015 11:24 am
My devices: iPhone 5

Re: Помощь новичкам

Post by Tantrixx »

MARK99 wrote:
Tantrixx wrote:Спасибо за ответ :)
Ты прав, по клеткам и нужно перемещать. 10х10 клеток, это нужно прописывать каждую клетку? Если в её области появился спрайт, то х10 равен той клетке и y10 равен той клетке? И так 100 раз? Это меня и смутило. По этому искал, как передвигать с шагом 23, то есть по клетке.
Я не знаю как работает touch_x (0), может с ним получилось бы сделать такое движение?
Ты хочешь касанием пальца перемещать по клеткам спрайт?
Да :)

Tantrixx
Posts: 119
Joined: Sun Nov 22, 2015 11:24 am
My devices: iPhone 5

Re: Помощь новичкам

Post by Tantrixx »

Тачпадом было бы на много проще сделать, но ни кнопку ни спрайт не где разместить, да и не очень будет выглядеть.
Можно и не по клеткам, а как всегда, но чтоб он становился в ближайшие клетки.

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Помощь новичкам

Post by MARK99 »

Tantrixx wrote:
MARK99 wrote:
Tantrixx wrote:Спасибо за ответ :)
Ты прав, по клеткам и нужно перемещать. 10х10 клеток, это нужно прописывать каждую клетку? Если в её области появился спрайт, то х10 равен той клетке и y10 равен той клетке? И так 100 раз? Это меня и смутило. По этому искал, как передвигать с шагом 23, то есть по клетке.
Я не знаю как работает touch_x (0), может с ним получилось бы сделать такое движение?
Ты хочешь касанием пальца перемещать по клеткам спрайт?
Да :)
Ну тогда пусть твоё поле находится в самом начале, в точке 0,0 и будет s на s по площади , и поле будет 10 на 10 клеток, а всего клеток 10*10=100, и доена клетки тогда буде s/10
Тогда командой get touch... Ты переместишь спрайт в этом поле и дальше будешь проверять каждую позицию
Два раза применив цикл, я советую в этом случае использовать цикл for to next:

Code: Select all

Get Sprite "1ship10" pos xs,ys 'возвращает координаты спрайта
Xsetki=0'координаты первой ячейки 
Ysetki=0
For s1=1 to 10
 For s2=1 to 10
  If xs>xsetki and xs<xsetki+s and ys>ysetki and ys<ysetki+s then 'сдесь идёт перебор координат ячеек в которой может находиться спрайт
   Sprite "1ship10" at xsetki,ysetki 'перемещение спрайт в соответствующую ячейку
   Goto 1 ' выход из цикла чтобы время не терять
  Endif
  Xsetki+=s/10
 next s2
 Xsetki=0
 Ysetki+=s/10
next s1
1
Где s1,s2 какие-то переменные
Image

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Помощь новичкам

Post by MARK99 »

Tantrixx wrote:Тачпадом было бы на много проще сделать, но ни кнопку ни спрайт не где разместить, да и не очень будет выглядеть.
Можно и не по клеткам, а как всегда, но чтоб он становился в ближайшие клетки.
Саму клетку рисовать не обязательно, это спрайт просто будет двигаться словно по клеткам.
Image

User avatar
MARK99
Posts: 292
Joined: Tue Feb 03, 2015 2:33 pm
My devices: Ipad 4 , iphone 5
Flag: Russia
Contact:

Re: Помощь новичкам

Post by MARK99 »

TOUCH_X (N) и TOUCH_Y (N) работают так же как и get touch n as x,y только во втором случае команда сразу возвращает, и касание по x, и по y, а в первом отдель x и отдельно y
Image

Tantrixx
Posts: 119
Joined: Sun Nov 22, 2015 11:24 am
My devices: iPhone 5

Re: Помощь новичкам

Post by Tantrixx »

MARK99 wrote:TOUCH_X (N) и TOUCH_Y (N) работают так же как и get touch n as x,y только во втором случае команда сразу возвращает, и касание по x, и по y, а в первом отдель x и отдельно y
Спасибо :)
Завтра обязательно попробую и отпишусь, что получилось :) я ещё думал через массив как то сделать, но я ещё далёк от этого и поверхностно понимаю sB
Например, до сих пор не пойму, зачем ставят точку, как в примере ниже .maxx

Sprite z$ at .maxx,.maxy

У меня ещё мысль была о двойном нажатии. Его возможно ни как не реализуешь? Суть в том, что при двойном нажатии на спрайт, он менял угол поворота, а при одинарном, передвигался, как я раннее писал, по клеткам :)

Post Reply