Strona 1 z 1

[AS 2.0]movieclipy tworzone skryptem

: sob lip 02, 2005 4:22 pm
autor: rabit
Witam!
Mam kolejny problem i pewnie marek_f pomoże mi go rozwiązać jak zam te forum.Przechodzę do rzeczy , a mianowicie: tworzę skryptem movie clipy i potem chcę się do nich odwołać i zmienić ich własności ale nie zawsze jest to możliwe szczególnie gdy tworzę więcej jednocześnie przez pętlę for.

Re: [AS 2.0]movieclipy tworzone skryptem

: sob lip 02, 2005 8:13 pm
autor: Marek_bf
Coś tam na ten temat wiem. Pewnie chodzi o coś takiego gdzie trzeba użyć notacji tablicowej:

Kod: Zaznacz cały

for (var i = 0; i < 100; i++) {
	var newName = "mc" + i;
	this.createEmptyMovieClip(newName, i);
	this[newName]._x = Math.round(Math.random() * 300);
	this[newName]._y = Math.round(Math.random() * 300);
	this[newName].lineStyle(5 + Math.round(Math.random() * 30), Math.round(Math.random() * 0xffffff), 20 + Math.round(Math.random() * 80));
	this[newName].lineTo(1, 0);
}
:)

Re: [AS 2.0]movieclipy tworzone skryptem

: ndz lip 03, 2005 12:17 pm
autor: bwo
A czemu trzeba tak:

Kod: Zaznacz cały

 this[newName]._x
,
a nie po prostu:

Kod: Zaznacz cały

newName._x
To jest właśnie ta notacja tablicowa?

Re: [AS 2.0]movieclipy tworzone skryptem

: ndz lip 03, 2005 6:17 pm
autor: Marek_bf
A dlaczego po prostu tego nie zmienisz i nie sprawdzisz czy podana przez Ciebie notacja kropkowa działa czy nie? :) Będzie ona działała poza pętla, ale w pętli trzeba użyć albo notacji tablicowej albo wyrażenia eval

Re: [AS 2.0]movieclipy tworzone skryptem

: ndz lip 03, 2005 7:07 pm
autor: bwo
OK :) Jak coś bede się chciał jeszcze dowiedzieć, to sprawdze najpierw =]

Re: [AS 2.0]movieclipy tworzone skryptem

: pn lip 04, 2005 1:53 am
autor: rabit
ok rozumiem jeszcze tego nie sprawdzałem ale największe problemy są poza pętlą , jeżeli utworzę np dziesięć klipów, a potem chcę żeby im np. zmienić alpha i zamiast tej zdefiniowanej w beginFill nadać nową wartość to jakoś nie wychodzi.

Re: [AS 2.0]movieclipy tworzone skryptem

: pn lip 04, 2005 5:15 pm
autor: Marek_bf
Bo żeby zmienić to, co jest dynamicznie narysowane trzeba ten rysunek usunąć i dać nowy:

Kod: Zaznacz cały

for (var i = 0; i < 10; i++) {
	var newName = "mc" + i;
	this.createEmptyMovieClip(newName, i);
	this[newName]._x = this[newName]._width * i;
	this[newName].lineStyle(1, 0xffffff, 100);
	this[newName].beginFill(0xff0000, 100);
	this[newName].lineTo(20, 0);
	this[newName].lineTo(20, 20);
	this[newName].lineTo(0, 20);
	this[newName].lineTo(0, 0);
	this[newName].endFill();
	this[newName]._x = this[newName]._width * i;
}
with (mc5) {
	_y = 20;
	clear();
	lineStyle(1, 0x00ff00, 100);
	beginFill(0x000000, 20);
	lineTo(20, 0);
	lineTo(20, 20);
	lineTo(0, 20);
	lineTo(0, 0);
	endFill();
}