07/09/28 22:07:17 SXV0X6Oy
>>445
ballをduplicateMovieClipして、それぞれにメソッドを割り当てたいの?なら、
ball.duplicateMovieClip("ball"+n,n+10);
を1回しかやってない以上、ムリだ。
同時に、thisの理解に不十分なところがある。むしろこっちがマズイ。
いま手元にflashがないので検証はできないが、次のを参考にしてみて。
var acl=2.5;
var brk=1.5;
var n=1; //何を表現したいのかを良く考えて、妥当な値にすること
var rmt=100;
function copy(){
for(i=1;i<=n;i++){
//thisにballというMCがあると仮定
this.ball.duplicateMovieClip("ball"+i,i+10);//「ball1」等の名称でデュプリケートする
var xRnd=Math.random()*rmt-rmt/2;
var yRnd=Math.random()*rmt-rmt/2;
this["ball"+i].xm=_xmouse+xRnd;
this["ball"+i].ym=_ymouse+yRnd;
this["ball"+i].onEnterFrame=function(){
this._x+=((this.xm-this._x)*acl)/brk;
this._y+=((this.ym-this._y)*acl)/brk;
}
}
このスクリプトでやりたいことが良く分らなかったから、n回のデュプリケートおよび
おのおののプロパティ、メソッドを定義する例を示したが、君のやりたいこととは
異なる可能性もあるので、そこは自力でやってほしい。
まずはthisの意味、とくにonEnterFrame内のthisとその外側のthisとの違いを、
もういちど勉強しなおしてみよう。