![]() |
|
||||||||||
|
|||||
|
[+ за флуд]
|
А как написать на экшенскрипте чтобы точки в рандомном порядке бегали за курсором???
__________________
And nothing else matters. |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
так потянет?
Stage.align = "TL"
Stage.scaleMode = "noscale"
pointClass = function () {
};
tmp = pointClass.prototype=new MovieClip();
tmp.init = function() {
this._x = random(Stage.width);
this._y = random(Stage.height);
};
tmp.onEnterFrame = function() {
this._x += this.st_x = (this.st_x += (this._parent._xmouse-this._x)/200)*.95;
this._y += this.st_y = (this.st_y += (this._parent._ymouse-this._y)/200)*.95;
if (random(100)<2) {
this.init();
}
};
//
createPoint = function () {
var mc = _root.createEmptyMovieClip("mc"+d++, d);
mc.lineStyle(2, 0, 100);
mc.lineTo(.2, 0);
mc.__proto__ = pointClass.prototype;
mc.init();
};
for (i=0; i<20; i++) {
_root.createPoint();
}
|
|
|||||
|
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
любители усложнять жизьнь
![]()
__________________
flash it |
|
|||||
|
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
_global.createPoint=function(){with(this){
MC=createEmptyMovieClip("mc"+_global.d++,d)
MC.lineStyle(2,0x000000,100);MC.lineTo(.2,0)
MC._x=random(Stage.width)
MC._y=random(Stage.height)
MC.onEnterFrame=function(){
this._x+=this.st_x=(this.st_x+(_root._xmouse-this._x)/200)*.95;
this._y+=this.st_y=(this.st_y+(_root._ymouse-this._y)/200)*.95;
if(random(100)<2){
this._x=random(Stage.width)
this._y=random(Stage.height)}}}}
//
for(i=0;i<20;i++){createPoint()}
![]()
__________________
flash it |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
если ты думаешь, что это здравая мысль, то ответь на вопрос:
- зачем в каждом мувике создавать обработку события onEnterFrame, если это можно сделать однажды в прототипе класса? - или это любителям усложнять жизнь? ![]() |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
если ты так ненавидишь ООП, то хотябы так:
_root.onPointEnterFrame = function() {
this._x += this.st_x=(this.st_x+(_root._xmouse-this._x)/200)*.95;
this._y += this.st_y=(this.st_y+(_root._ymouse-this._y)/200)*.95;
if (random(100)<2) {
this._x = random(Stage.width);
this._y = random(Stage.height);
}
};
_global.createPoint = function() {
with (this) {
MC = createEmptyMovieClip("mc"+_global.d++, d);
MC.lineStyle(2, 0x000000, 100);
MC.lineTo(.2, 0);
MC._x = random(Stage.width);
MC._y = random(Stage.height);
MC.onEnterFrame = _root.onPointEnterFrame;
}
};
//
for (i=0; i<20; i++) {
createPoint();
}
|
|
|||||
|
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
Цитата:
![]() а писать и понимать сложнее Цитата:
![]()
__________________
flash it |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
и я как-то проворонил, но класть функцию в _global не комильфо.
а уж тем более не закрыть ее при этом от обхода с помощью ASSetPropFlags - это верный способ нажить багов в for...in... циклах. При этом совсем непонятно, зачем она в _global, если достаточно прописать один раз в руте или в мувике, который все эти точки будет содержать. ведь из контекста понятно, что две мышки не будут сосуществовать на одном компе и соответственно никаких дублирований групп точек в других местах не предполагается. |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
Цитата:
и в первом и во втором случае имеется только один ее экземпляр. в родном он лежит в прототипе класса, в исправленном в руте. мувики лишь имеют линк на эту функцию. в твоем случае этих функций 20 штук. |
|
|||||
|
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
ладно, ладно
![]() пусть будет прототип, только успокойся ![]()
__________________
flash it |
![]() |
Часовой пояс GMT +4, время: 11:03. |
|
|
« Предыдущая тема | Следующая тема » |
|
|