Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.06.2013, 16:16
funkypanky вне форума Посмотреть профиль Отправить личное сообщение для funkypanky Найти все сообщения от funkypanky
  № 1  
Ответить с цитированием
funkypanky

Регистрация: Jun 2013
Сообщений: 22
Question помогите сделать всплывающие очки!

Всем привет!
Тестирую появление всплывающих очков, которые должны единожды появляться в определённое время при нажатии на кнопку(в моём случае когда FPS достигает отметки 40).
Но чую допускаю ошибку при написании кода--> когда счётчик стоит на отметке 40, экземпляры очков создаются постоянно. Подскажите пожалуйста как это исправить, чтобы стоя на отметки 40, очко появилось только один раз.

Вот сам код(пишу во Flash cs6), на сцене создаю три объекта с именами "mRect", "mBut" , "fpsText" и mScore", являющийся классом scor:
Исходник прилагаю.
Код:

Код AS3:
 
 
mRect.addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event):void{
	mRect.rotation += 5;
	fpsText.text = "FPS:"+(stage.frameRate).toString();
	if (stage.frameRate ==40){	
	score();
	}							
}
 
mBut.addEventListener(MouseEvent.CLICK, onMouseclick);
 
function onMouseclick(e:MouseEvent):void{
 
	stage.frameRate++;	
}
 
 
function score():void{
	var mScore:scor = new scor();
	mScore.x =mRect.x;
	mScore.y =mRect.y;
	mScore.alpha = 1;
	addChild(mScore);
	mScore.addEventListener(Event.ENTER_FRAME, scoreMove);
}
function scoreMove(e:Event):void{
	e.target.y -=1;
	e.target.alpha-=0.01;
 
	}
Вложения
Тип файла: rar fps-stage-frameRate-3.rar (7.1 Кб, 30 просмотров)


Последний раз редактировалось funkypanky; 08.06.2013 в 17:41.
Старый 08.06.2013, 17:40
XoJlToH вне форума Посмотреть профиль Отправить личное сообщение для XoJlToH Найти все сообщения от XoJlToH
  № 2  
Ответить с цитированием
XoJlToH
 
Аватар для XoJlToH

Регистрация: Sep 2006
Сообщений: 145
Объявить переменную mScore, при выполнении необходимых условий запустить функцию создания и добавления на сцену. Функция создания должна проверить не существует ли уже переменная. Если не существует - функция выполняется, иначе - нет.
Код AS3:
var mScore:scor;
function createScore ():void 
{
     if (mScore)
     {
          mScore=new scor();
          addChild(mScore);
     }
function disposeScore():void 
{
     if (mScore)
     {
         reomveChild(mScore);
         mScore=null;
     }
}

Старый 08.06.2013, 22:36
funkypanky вне форума Посмотреть профиль Отправить личное сообщение для funkypanky Найти все сообщения от funkypanky
  № 3  
Ответить с цитированием
funkypanky

Регистрация: Jun 2013
Сообщений: 22
Цитата:
Сообщение от XoJlToH Посмотреть сообщение
Не совсем понял как надо..
Переменная должна быть типа scor, не булевая?
Код AS3:
var mScore:scor;
Какие условия нужно точно проверить - то что frameRate ==40 и наличие экземпляра mScore на сцене? и где эти две функции вставить тоже не совсем понял..


Последний раз редактировалось funkypanky; 08.06.2013 в 22:47.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.