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

Post Reply
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
Странно что у Вас вылетает. На айпаде 4 сын с женой сыграли подряд 6 раз не выходя из игры. После этого я посмотрел память-она была под завязку, но ни разу не вылетела программа.Перебросив на айпад мини-хватает на один заход-на втором переполняется (оперативка в два раза меньше).
Да спрайты png большие (с цифрами,знаками и т.д.) на весь экран, но они ведь практически пустые! Если честно меня это удивляет. Вся папка с файлами 1,5 Мб! Почему память так перегружается?
Со спрайтом фоном согласен что не разумно.
Кнопки с цифрами подвинул выше от пальца.
Ну и красные круги в первом варианте были арбузами :D , но что-то не понравилось-ляписто! Сейчас вишенку рисую в фотошопе))))
Спасибо!

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: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

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

Post by Mr. Kibernetik »

У меня iPad, там оперативной памяти, видимо, меньше всего.

Не имеет значения пустой файл или нет. Компрессия PNG делает его небольшим, но в памяти он занимает ровно столько же места, как и полностью заполненный файл. "Пустое место" - это реально существующие пикселы с альфа-каналом равным 0, и памяти они занимают ровно столько же, сколько пикселы с ненулевым альфа-каналом.

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

Еще раз отмечу, что в целом программа оставляет очень хорошее впечатление!

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

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

Post by Mr. Kibernetik »

Фант wrote:Да еще:Почему то на айпад мини переключатель в этой программе поменял свою конфигурацию:уменьшился по ширине в два раза и при переключении в единичку заливается не синим а зеленым цветом!
Внешний вид переключателя зависит от операционной системы.

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 Фант »

Mr. Kibernetik wrote:
Фант wrote:Да еще:Почему то на айпад мини переключатель в этой программе поменял свою конфигурацию:уменьшился по ширине в два раза и при переключении в единичку заливается не синим а зеленым цветом!
Внешний вид переключателя зависит от операционной системы.
Да-да...ios7…

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 Фант »

Привет! Есть вопрос. Если делать сюжетную игру с персонажем, который перемещается из одного экрана в другой экран в разные стороны как лучше делать фоновый рисунок игры?
1. Отдельными спрайтами прятать и показывать? 2.отдельными рисунками очищать экран? 3. Делать один огромный рисунок с большим разрешением в точках и периодически менять его координаты для показа в нужное время нужного участка этого фона?

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

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

Post by Mr. Kibernetik »

Привет!
Все эти варианты подойдут.
Самое простое - рисовать нужный фон в главном графическом окне, когда туда переходит персонаж.

Нужно иметь в виду, что картинка, нарисованная на фоне, памяти не занимает. Таких фонов можно применить сколько угодно.
А вот спрайты память кушают. И после того, как спрайт больше не нужен, его лучше удалять SPRITE DELETE, чтобы память от него освободилась. И то, когда она там освободится - одна система знает...

А поскольку фоны - очень большие картинки, это все нужно учитывать.

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 Фант »

Команда 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 Фант »

Вот простой пример. Подскажите как в данном случае нагружается система? Этот пример будет работать бесконечно или память переполнится?

Code: Select all

graphics
graphics clear .3,.6,.8
fill color 1,.5,0
fill rect 50,50 to 1024,724
sprite 1 begin 100,100
fill color 0,.5,.6
fill circle 50,50 size 50
sprite 1 end
sprite 1 at 50,50
sprite 1 show
sprite 1 delay .01
sprite 1 dx 5 dy 0
sprite 1 loop
loop:
if m=0 and sprite_hit ("1",1000,50)=1 then goto 10
if m=1 and sprite_hit ("1",934,50)=1 then goto 20
if m=2 and sprite_hit ("1",934,724)=1 then goto 30
if m=3 and sprite_hit ("1",950,669)=1 then goto 40
if m=4 and sprite_hit ("1",0,669)=1 then goto 50
if m=5 and sprite_hit ("1",80,669)=1 then goto 60
if m=6 and sprite_hit ("1",80,0)=1 then goto 70
if m=7 and sprite_hit ("1",50,95)=1 then ! sprite 1 dx 5 dy 0 ! m=0 ! endif

goto loop
10 m=1
graphics clear .3,.6,.8 
fill color 1,.5,0
fill rect -50,50 to 978,724
sprite 1 at 50,50
goto loop
20 m=2
sprite 1 dx 0 dy 5
goto loop
30 m=3
graphics clear .3,.6,.8 
fill color 1,.5,0
fill rect -50,0 to 978,674
sprite 1 at 879,0
goto loop
40 m=4
sprite 1 dx -5 dy 0
goto loop
50 m=5
graphics clear .3,.6,.8 
fill color 1,.5,0
fill rect 50,0 to 1024,674
sprite 1 at 900,574
goto loop
60 m=6
sprite 1 dx 0 dy -5
goto loop
70 m=7
graphics clear .3,.6,.8 
fill color 1,.5,0
fill rect 50,50 to 1024,724
sprite 1 at 50,600
goto loop

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

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

Post by Mr. Kibernetik »

Я так не могу сказать, переполнится ли память или нет.
Способ, каким я проверяю код на переполнение памяти: заставляю программу запускать саму себя снова командой RUN, вводя ее таким образом в бесконечное повторение тех действий, надежность которых нужно проверить. Если код стабилен, то многочисленный перезапуск не ведет к ошибкам. Если код не стабилен, то память переполняется очень быстро.

Post Reply