Нужна помощь!

Post Reply
User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Нужна помощь!

Post by Mr. Kibernetik »

Фант wrote:Команда graphics clear много отнимает памяти?
Эта команда вообще не отнимает памяти.
Практически никакая команда, связанная с работой основного графического окна, не потребляет память.

Память потребляют только вновь появляющиеся объекты - это спрайты и объекты интерфейса, потому что система при их создании начинает изыскивать для них ресурсы. Особенно это касается спрайтов.

User avatar
Фант
Posts: 1363
Joined: Sat Nov 30, 2013 10:01 am
My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
Location: Россия,Санкт-Петербург
Flag: Russia
Contact:

Re: Нужна помощь!

Post by Фант »

Вот это мне и нужно было понять :D
То есть фон для нескольких экранов надо просто рисовать без использования спрайтов. При переходе в следующий экран очищать фон командой graphics clear и рисовать следующий фон...
Так и заключительный на сегодня вынос мозга)))) так что лучше для памяти: нарисовать большой рисунок на несколько экранов и в необходимый момент стирать и по координатам выводить нужную часть или же весь рисунок дробить на части и выводить на экран то изображение, которое в данный момент необходимо (соответственно стирая предыдущий?) или для системы нет разницы.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Нужна помощь!

Post by Mr. Kibernetik »

Думаю, что принципиальной разницы нет.
Это уже как удобнее программировать и рисовать фоны - один большой или куча маленьких. Не думаю, что с точки зрения потребления памяти это имеет значение, если конечно фон не такой большой, что система не сможет его нарисовать.
Кстати, перед перерисовкой фона вовсе необязательно его стирать - можно просто перерисовать поверх новым фоном - это будет быстрее.

User avatar
Фант
Posts: 1363
Joined: Sat Nov 30, 2013 10:01 am
My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
Location: Россия,Санкт-Петербург
Flag: Russia
Contact:

Re: Нужна помощь!

Post by Фант »

Так это не будет наложением нескольких рисунков друг на друга? То есть получается на память влияет только все видимые в данный момент изображения?

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Нужна помощь!

Post by Mr. Kibernetik »

Перерисовка основного графического окна никаким образом не влияет на память.
На память влияют только вновь создаваемые объекты.

User avatar
Фант
Posts: 1363
Joined: Sat Nov 30, 2013 10:01 am
My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
Location: Россия,Санкт-Петербург
Flag: Russia
Contact:

Re: Нужна помощь!

Post by Фант »

Спасибо большое! На сегодня всё :lol:

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Нужна помощь!

Post by Mr. Kibernetik »

Память занимают объекты. Главный графический экран - это объект - картинка на весь экран. Он создается при запуске программы и сразу занимает память. После этого в него можно рисовать сколько угодно раз - на памяти это никак не сказывается.
Спрайт - это новый объект, тоже картинка. При его создании точно так же занимается память. После этого в него можно рисовать сколько угодно раз без ущерба памяти.
Память занимают не операции по рисованию в объекте, а создание новых объектов. И чем новые объекты больше - тем больше нужно дополнительной памяти.

User avatar
Фант
Posts: 1363
Joined: Sat Nov 30, 2013 10:01 am
My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
Location: Россия,Санкт-Петербург
Flag: Russia
Contact:

Re: Нужна помощь!

Post by Фант »

Привет! Как спрограммировать действие реагирующее на движение по экрану? Опытным путём добился для себя решения: IF TOUCH_X (0)<TOUCH_X (0) then...это движение пальцем вправо и т.д. Но сейчас столкнулся с проблемой-эта функция не срабатывает в цикле где много других логических вычислений. Есть другие варианты?

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Нужна помощь!

Post by Mr. Kibernetik »

Добрый день!
Специальной команды, определяющей движения тача, в smart BASIC пока нет.
Все остальное - на Ваше усмотрение.

User avatar
Фант
Posts: 1363
Joined: Sat Nov 30, 2013 10:01 am
My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
Location: Россия,Санкт-Петербург
Flag: Russia
Contact:

Re: Нужна помощь!

Post by Фант »

Да я понял что нет может кто-то решал такую задачку и как-то программировал это

Post Reply