Показать сообщение отдельно
Старый 18.05.2013, 01:01
Idon'tKnow вне форума Посмотреть профиль Отправить личное сообщение для Idon'tKnow Найти все сообщения от Idon'tKnow
  № 9  
Ответить с цитированием
Idon'tKnow

Регистрация: Apr 2013
Сообщений: 77
Код AS3:
var randomIndex:int = Math.floor( Math.random() * myList.excercise.length);
Т.к округление идёт в меньшую сторону, то тут должно быть для 3х вопросов следующие промежутки:
1.) [0-1)
2.) (1-2]
3.) [2-3)

Если Вы вычитаете из длины единичку, то у Вас получаются вот такая область значений randomIndex:
[0; 1) - последний вопрос уже никогда не будет показан. Первые 2 должны появляться.

2).
Код AS3:
function nextAnswer(event:MouseEvent) : void
Код AS3:
return myList.excercise[randomIndex];
Не забыли поменять тип возвращаемых данных?

И вообще, куда он их вернет, если это приёмник? Я конечно не уверен, но по-моему приёмник не возвращает ничего, а просто реагирует на события, Вы же не можете присвоить значение какой-нибудь переменной - ссылку на этот приёмник.

P.S. В последнем абзаце не уверен.

Добавлено через 46 минут
Покопался, всё таки можно присваивать переменной возвращаемое значение переменной, но придется инициализировать вызов этого самого события. У Вас есть что-то, типа:↓ ?

Код AS3:
var secRect:Sprite;
var first:Sprite;
 
secRect = new Sprite();
secRect.graphics.beginFill(0x0000FF);
secRect.graphics.lineStyle(1);
secRect.graphics.drawRect(190, 200, 20, 20);
stage.addChild(secRect);
 
first = new Sprite();
first.graphics.lineStyle(1);
first.graphics.drawCircle(10, 20, 40);
stage.addChild(first);
 
first.addEventListener(MouseEvent.MOUSE_DOWN, firstListener);
secRect.addEventListener(MouseEvent.MOUSE_DOWN, secRectListener);
 
private function secRectListener(e:MouseEvent):void {
				trace("secRect!");
				//e.updateAfterEvent();
		}
 
private function firstListener(e:MouseEvent):void {
				trace("first");
				secRectListener(e); // вызов события.
		}
Буду рад услышать критику, если ошибаюсь в чём-либо.


Последний раз редактировалось Idon'tKnow; 18.05.2013 в 01:48.