Показать сообщение отдельно
Старый 29.06.2014, 17:28
DoctorQueb вне форума Посмотреть профиль Отправить личное сообщение для DoctorQueb Найти все сообщения от DoctorQueb
  № 1  
Ответить с цитированием
DoctorQueb

Регистрация: Aug 2012
Сообщений: 19
Cool Игра на Android. Подтормаживает экран

Доброго времени суток)
Решил написать пробную версию игры под Android и заметил странную вещь. У меня на экране есть персонаж и есть шарик, оба двигаются. Шарик двигается сам, а персонаж с помощью кнопок на экране. Проблема в том, что при каждом нажатии на одну из этих кнопок игра подвисает на долю секунды. Соотвественно, если очень долго однократно нажимать на одну из этих кнопок, то игра будет замедляться. В чём может быть причина?

Код
Код AS3:
import flash.events.MouseEvent;
import flash.events.Event;
 
hero.move_speed = 0;
hero.move_inc = 5;
 
var bb;
 
var ball1=new ball();
addChild(ball1);
 
hero.addEventListener(Event.ENTER_FRAME,loop);
ball1.addEventListener(Event.ENTER_FRAME, moveBall);
 
btnL.addEventListener(MouseEvent.MOUSE_DOWN, moveLEFT);
btnR.addEventListener(MouseEvent.MOUSE_DOWN, moveRIGHT);
btnL.addEventListener(MouseEvent.MOUSE_UP, stopMove);
btnR.addEventListener(MouseEvent.MOUSE_UP, stopMove);
btnL.addEventListener(MouseEvent.MOUSE_OUT, stopMove);
btnR.addEventListener(MouseEvent.MOUSE_OUT, stopMove);
 
function moveLEFT(e:MouseEvent)
{
	hero.move_speed =  -  hero.move_inc;
}
 
function moveRIGHT(e:MouseEvent)
{
	hero.move_speed = hero.move_inc;
}
 
function stopMove(e:MouseEvent)
{
	hero.move_speed = 0;
}
 
function loop(e:Event)
{
	hero.x +=  hero.move_speed;
}
 
function moveBall(e:Event)
{
	bb = e.target;
	bb.y +=  6;
	if (bb.y >= 400)
	{
		bb.y = 0;
		bb.x = int(Math.random() * 400) + 50;
	}
	if (bb.hitTestObject(hero))
	{
		bb.y = 5;
		bb.alpha -=  .1;
		bb.x = int(Math.random() * 400) + 50;
	}
}
Вложения
Тип файла: rar test1.rar (10.4 Кб, 106 просмотров)


Последний раз редактировалось DoctorQueb; 29.06.2014 в 23:08.