Я нашел учебник о том, как сделать динамический заполненный и заполненный круг. который будет принимать входные данные от ползунка, чтобы истолковать, сколько кругов было нарисовано. Я хотел использовать это для preloader. В отличие от автора, я хотел бы использовать его внутри класса документа. Я получаю 1061: Call to a possibly undefined method createEmptyMovieClip through a reference with static type document.
и 1120: Access of undefined property circ1.
Второй вызван с первого. Как мне заставить это работать в моем классе документов? Заранее спасибо!
динамически нарисовать окружность preloader error 1061, когда в классе документа
//original code
// x: circles center x, y: circles center y
// a1: first angle, a2: angle to draw to, r: radius
// dir: direction; 1 for clockwise -1 for counter clockwise
MovieClip.prototype.CircleSegmentTo = function(x, y, a1, a2, r, dir) {
var diff = Math.abs(a2-a1);
var divs = Math.floor(diff/(Math.PI/4))+1;
var span = dir * diff/(2*divs);
var rc = r/Math.cos(span);
this.moveTo(x+Math.cos(a1)*r, y+Math.sin(a1)*r);
for (var i=0; i<divs; ++i) {
a2 = a1+span; a1 = a2+span;
this.curveTo(
x+Math.cos(a2)*rc,
y+Math.sin(a2)*rc,
x+Math.cos(a1)*r,
y+Math.sin(a1)*r
);
};
return this;
};
// empty
this.createEmptyMovieClip("circ1",1);
circ1._x = 100;
circ1._y = 150;
circ1.radius = 35;
circ1.onEnterFrame = function(){
this.clear();
var endAngle = 2*Math.PI*percentLoaded;
var startAngle = 0;
if (endAngle != startAngle){
this.lineStyle(2,0,100);
this.CircleSegmentTo(0, 0, startAngle, endAngle, this.radius, -1);
}
}
//filled
this.createEmptyMovieClip("circ2",2);
circ2._x = 220;
circ2._y = 150;
circ2.radius = 35;
/* code in tutorial i left out since its for a second filled in circle
circ2.onEnterFrame = function(){
this.clear();
var endAngle = 2*Math.PI*slider.value/100;
var startAngle = 0;
if (endAngle != startAngle){
this.lineStyle(2,0,100);
this.beginFill(0xFF9999,100);
this.lineTo(this.radius,0);
this.CircleSegmentTo(0, 0, startAngle, endAngle, this.radius, -1);
this.lineTo(0,0);
this.endFill();
}
}
*/
Я недавно начал actioncript, поэтому я не знаю, что мне пришлось бы изменить, так как я никогда не использовал 2.0. Можете ли вы рассказать мне, какие части мне нужно переписать? – Yamiko
почти все это. большая часть из них - синтаксис (нет подчеркиваний перед именами собственных свойств, никаких обратных вызовов событий в AS3, графические вызовы существуют в субстрате графики в AS3 и т. д.), он возьмет базовое понимание AS2 и AS3 для преобразования – gthmb
честно I не хочу учиться as2 только для этого. Я делаю что-то другое для preloader и делаю это в as3, когда я больше знаком с скриптом действий. thx для ввода. – Yamiko