Всього залишено коментарів: 9

Андрій
Березень 30, 2011 о 14:59

Завдяки таким прикладам, кожен може без великих зусиль навчатися програмуванню.
Дякую адміністрації сайту, адже мені дуже потрібне знання ActionScript а в книжках хоч і є потрібна мені інформація, але без наочності все не так і просто…

Василь
Травень 22, 2011 о 09:00

Дуже добре що ти Ярославе ведеш цей блог. Інформація якісно подана на рідні мові, а такий матеріал є дуже цінним.

Анастасия
Вересень 29, 2011 о 14:57

А что Вы прописали для кнопки “Очистить?”

Ярослав Федорак
Вересень 29, 2011 о 15:15

Щоб розібратися, як видаляти кліпи, особливо, коли їх багато і для них не присвоюються окремі змінні, потрібно розібратися з роботою Display List. Я обов’язково напишу про нього в одній із наступних публікацій, тому що це дуже важливо для роботи з графікою методами AS3.

Якщо коротко: створюється контейнер для кліпів (зірок), використовується цикл і функція removeChildAt(0).

Можуть бути й інші варіанти реалізації, наприклад, якщо присвоювати кожному кліпові власну унікальну змінну (через масив) і видаляти кліпи за іменами цих змінних.

Ярослав Федорак
Вересень 30, 2011 о 08:06

Анастасія, написав статтю про організацію візуальних об’єктів у flash-програмах. У частині про видалення об’єктів є кілька абзаців про те, як видалити всі об’єкти зі сцени. Але для кращого розуміння роботи списку відображення бажано читати всю статтю.

Alex
Березень 15, 2013 о 16:52

Получилось. Правда довелось поставити галочку навпроти
“Export in framе 1″, бо інакше вибивало застереження: “a definition for the document class could not be found in the classpath…” Що це могло бути?

Богдан
Жовтень 16, 2015 о 15:21

Ярослав, подивися якщо є час будь – ласка.
Що ти скажеш про мій код?
він, звичайно, як завжди не правильний.
Не підскажеш у чому в мене помилка?
Суть коду: кожні пів секунди має рандомно падати один з 4 предметів.

import flash.events.TimerEvent;
import flash.utils.Timer;

stop ();
var qwe:int=Math.floor(Math.random()*4)+1;
var myTimer:Timer = new Timer();
myTimer.addEventListener(TimerEvent.TIMER, qw);
myTimer.start();
function qw(event:TimerEvent) {if (qwe == 1){
q1.gotoAndStop(1);
if (qwe == 2){
q2.gotoAndStop(1);
}
if (qwe == 3){
q3.gotoAndStop(1);
}
if (qwe == 4){
q4.gotoAndStop(1);
}
}

}
На перед дякую.

Ярослав Федорак
Жовтень 19, 2015 о 11:15

Те що одразу впадає у вічі – ти не вказав затримку таймера (в мілісекундах).

Оголошення повинно виглядати приблизно так:
var myTimer:Timer = new Timer(500);

Ну і присвоєння змінної qwe у тебе відбувається поза тілом функції – тобто воно виконається тільки один раз. Ніяких рандомних предметів не буде – буде один і той самий предмет кожні пів-секунди.

І ще, назви змінних і функцій у твоєму коді ні про що не говорять. Це не проблема, але набагато зручніше одразу привчити себе давати змінним імена, які описують їх. Наприклад, про що говорить змінна qwe? От randomNumber – уже краще.

Богдан
Січень 20, 2016 о 11:58

а це? помилки не видає, але не працює.

import flash.events.TimerEvent;
import flash.utils.Timer;

var tim : Timer = new Timer(3000);
tim.addEventListener(TimerEvent.TIMER, timer);

tim.start();
function timer(e:TimerEvent){
var ball11:MovieClip = new ball1();
ball11.x = mouseX;
ball11.y = mouseY;
}

1Пінгбеки & Трекбеки
Поділіться своєю думкою