Нажатие на спрайт - что ему не нравится
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Нажатие на спрайт - что ему не нравится
Чуть подправил свой пост.
Re: Нажатие на спрайт - что ему не нравится
Короче построение лабиринта у меня получилось такое (это куски именно с ним, выдернутые из программы).
Code: Select all
block$(1) = "data/block1.png"
block$(2) = "data/block2.png"
x_max = 13 'Block X max position
y_max = 10 'Block Y max position
x_shift = 128 'X-shift of the block
y_shift = 0 'Y-shift of the block
Code: Select all
'Create level
DIM block_arr(x_max, y_max)
FOR y_min = 0 TO y_max - 1
FOR x_min = 0 TO x_max - 1
READ b
block_arr(x_min, y_min) = b
IF b <> 0 THEN
DRAW IMAGE block$(b) AT x_min * 64 + x_shift, y_min * 64 + y_shift
ENDIF
NEXT x_min
NEXT y_min
Code: Select all
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,1,0,1,0,1,0,1,0,1,0,1,0
DATA 0,1,0,1,0,1,0,1,0,1,0,1,0
DATA 0,1,0,1,0,1,2,1,0,1,0,1,0
DATA 0,1,0,1,0,0,0,0,0,1,0,1,0
DATA 0,0,0,0,0,1,1,1,0,0,0,0,0
DATA 0,0,1,1,1,0,0,0,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,1,0,1,0,1,0,1,0,1,0,1,0
DATA 0,1,0,1,0,0,0,0,0,1,0,1,0
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Нажатие на спрайт - что ему не нравится
Вот Вы на что замахнулись! Здорово!!!
Re: мои вопросы по Smart Basic - пишем игру
Уже буду здесь писать, чтобы не создавать кучу отдельных тем. Хочу постоянно видеть текущие координаты танка. Написал:
Выводит нормально, но когда еду, текст накладывается и получается каша. Глупый вопрос - как выводить текст, чтобы он затирался. TEXT CLEAR не срабатывает (видимо считается, что это графика ?). Добавил строку
но она почему-то тоже не срабатывает.
Code: Select all
GET SPRITE my_tank1$ POS x_tank1, y_tank1
text_c$ = "x="&x_tank1&" y="&y_tank1
DRAW TEXT text_c$ AT 0, 0
Code: Select all
DRAW TEXT " " AT 0, 0
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: мои вопросы по Smart Basic - пишем игру
В данном случае есть два варианта:Dionis wrote:Уже буду здесь писать, чтобы не создавать кучу отдельных тем. Хочу постоянно видеть текущие координаты танка. Написал:
Выводит нормально, но когда еду, текст накладывается и получается каша. Глупый вопрос - как выводить текст, чтобы он затирался. TEXT CLEAR не срабатывает (видимо считается, что это графика ?). Добавил строкуCode: Select all
GET SPRITE my_tank1$ POS x_tank1, y_tank1 text_c$ = "x="&x_tank1&" y="&y_tank1 DRAW TEXT text_c$ AT 0, 0
но она почему-то тоже не срабатывает.Code: Select all
DRAW TEXT " " AT 0, 0
Или спрайтами(создайте спрайт с координаиой и постоянно в нем рисуйте координаты) либо подкладывайте под текст закрашенный в цвет фона прямоугольник
Re: Нажатие на спрайт - что ему не нравится
Сделал так. В самом начале программы:
В цикле, где происходит перемещение:
Как бы и работает, но танк стал жутко медленно ездить
Code: Select all
SPRITE "text_data" BEGIN 160, 50
SPRITE END
Code: Select all
text_c$ = "x="&x_tank1&" y="&y_tank1
SPRITE "text_data" BEGIN
GRAPHICS CLEAR
DRAW TEXT text_c$ AT 0, 0
SPRITE END
SPRITE "text_data" SHOW
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Нажатие на спрайт - что ему не нравится
аааа...да в спрайте все равно надо фон вставлять...Dionis wrote:Сделал так. В самом начале программы:
В цикле, где происходит перемещение:Code: Select all
SPRITE "text_data" BEGIN 160, 50 SPRITE END
Как бы и работает, но танк стал жутко медленно ездитьCode: Select all
text_c$ = "x="&x_tank1&" y="&y_tank1 SPRITE "text_data" BEGIN GRAPHICS CLEAR DRAW TEXT text_c$ AT 0, 0 SPRITE END SPRITE "text_data" SHOW
у вас задержка изза graphics clear
рисуйте закрашенный прямоугольник
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Нажатие на спрайт - что ему не нравится
SPRITE "text_data" SHOW-достаточно написать один раз при создании пустого спрайта-из цикла уберите
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Нажатие на спрайт - что ему не нравится
для оптимизации размера спрайта-текста используйте такие команды
TEXT_HEIGHT (T$)
TEXT_WIDTH (T$)
возвращает высоту и ширину текста [t$] для текущего графического шрифта.
этими командами можно рассчитать высоту и ширину текста в зависимости от шрифта и его размера-и от этих значений создавать спрайт нужных размеров
кстати для вывода временной информации я часто использую кнопку.Нужная информация-это название кнопки. Просто и сердито.
TEXT_HEIGHT (T$)
TEXT_WIDTH (T$)
возвращает высоту и ширину текста [t$] для текущего графического шрифта.
этими командами можно рассчитать высоту и ширину текста в зависимости от шрифта и его размера-и от этих значений создавать спрайт нужных размеров
кстати для вывода временной информации я часто использую кнопку.Нужная информация-это название кнопки. Просто и сердито.