.


:




:

































 

 

 

 


қ ұ 21

 

қ: Flash ә қ ұ .

қ: Flash құ ә қ ү.

 

қ ұқ:

1. ә қ

2. ә ү

3. ʳ

ң ө ұ :

1. қ ә құ ғ ң

2. қ ә құ ң ғқ ү

3. ғ ң ә қ ә ғң

4.

1

қ ә құ - - Break apart- Break apart - ә қ

2

if (drag.hitTest(target1)) {

dyn.text = "da";}

else {

dyn.text = "net";

}

 

13:

 

, . . , , , . , , .

 

13 . , , .

 

 

, . , , . , , . , .

 

, .

MovieClip:

 

MovieClip.prototype.roundText = function (eff:String, depth:Number, text_p: String, x:Number, :Number, format:Text.Format, N:Number) {}

 

roundText 7 :

 

eff , . -

;

 

depth , ;

 

text_p , ;

 

;

 

format TextFormat, ;

 

n , .

 

roundText - :

 

var effect:MovieClip = this.CreateEmptyMovieClip(eff, depth);

 

, , , , . , , , . , , . . , , W ( ). , , getTextExtent():

 

var text_width:Number = format.getTextExtent("W").width*text_p.length;

 

, , (I = 2πR):

 

var radius:Number=text_width/(2*Math.PI);

 

, . char_numb , char_numb :

 

var char_numb:Number = text_p.length; for (var i = 0; i<char_numb; i++) {}

 

. ( , ):

 

X = X0 + R ⋅cos(ϕ)

 

Y = Y0 + R ⋅cos(ϕ)

 

X Y ; 0 Y0 ; R ; ϕ

, (X, Y) .

 

, , . n- , n:

 

phi = 2*Math.PI/char_numb*i; _ = x+radius*Math.cos(phi); y_p = y+radius*Math.sin(phi);

 

, , :

 

effect.createTextField("pole"+i, i, x_p, y_p, 0, 0); with (effect["pole"+i]) {

text=text_p.substring(i, i+1), autoSize=true, setTextFormat(format); }

 

, , , (, . , .

 

. - , ϕ , . :

 

effect.n=0, effect.x=x, effect.y=y, effect.radius=radius, effect.fr=N, effect.step=2*Math.PI/char_numb; effeet.onEnterFrame = function():Void { var I:Number = 0;

while (this["pole"+i]!= undefined) { this["pole"+i]._x = this.x+this.radius*Math.cos(this.step*(I +this.n)); this["pole"+i]._y = this.y+this.radius*Math.sin(this.step*(I +this.n)); i++;

}

this.n += 2*Math.PI/12*this.fr;

};

 

:

 

. effect , onEnterFrame. , , roundText() , , .

 

n , . onEnterFrame , , , .

 

(. 13.32). . , , .

 

. 13.32.

 

 

, . , , , , . , .

 

, . , , . , , . ? , . , , . , . , . ? , ? ( , , )? , .

 

, , , . :

 

1. . .

, , .

 

2. , , . , , , . , .

 

3. . ,

.

 

4. . ,

.

 

5. , . -

, , .

 

6. 25 , . , . , .

 

, , . .

 

, , createMain(), , :

 

function createMain(x:Number, :Number):Void {}

 

createMain() , . text_p:

 

this.createTextField("pole1", 0, , , 0, 0); pole1.text = text_p;

pole1.autoSize="left", pole1.embedFonts=pole1.border-true, pole1.selectable=false;

 

. . , , , .

 

. - (, Courier New). . , -, , -, - , .

 

, font. (2030 ). . .

 

pole1.setTextFormat(new TextFormat("font", 20, 0xFFFFFF, null, null, null, null, null, "center"));

 

, . , , , , :

 

var char:String = null, n:Number = 0; for (var i = 0; i<text_p.length; i++) { char = text_p.length.charAt(i);

if (char!= " " && char!= "\r" && char!= "\t" && char!= "\n") {

// arr arr[n++] = i;

}

 

. createSymbol(), :

 

createSymb();

 

createSymb(), :

 

function.createSymb():Void {}

 

createSymb() , createMain(). . , :

 

this.createTextField{"pole2", 1, -100 + 700*Math.random(), -100 +

600*Math.random(), 0, 0);

pole2.autoSize = pole2.embedFonts=true, pole2.selectable=false;

 

pole2 pole1. , .

 

, , arr :

 

var index:Number = Math.round(arr.length*Math.random()); n = arr[index];

 

. , arr , createSymb():

 

arr.splice(index, 1);

 

pole2. , index, . , . , , , ( , ):

 

var pole2_text:String = text_p, char:String = null; for (var i = 0; i<pole2_text.length; i++} { char = pole2_text.charAt(i);

if (i!= n && char!= " " && char!= "\r" && char!= "\t" && char!= "\n") { pole2_text = pole2_text.slice(0, i)+" "+ pole2_text.slice(I +1);

}

}

 

, , pole1:

 

pole2.text = pole2_text;

pole2.setTextFormat(new TextFormat("font", 20, 0, null, null, null, null, null, "center"));

 

pole2 pole1 . , , ( 20-30). . pole2 , .

 

step_x step_y:

 

var delta_x:Number = (pole2._x-pole1._x); var delta_y:Number = (pole2._y-pole1._y);

step_x = delta_x/20; // 20 step_y = delta_y/20;

 

, . setInterval charMover(). pole2 . , , . speed_t:

 

loop = setInterval(charMover, 100-speed_t);

 

setInterval , loop.

 

charMover(), :

 

function charMover():Void {}

 

, , . pole1 pole2. (35 ), , pole1, , . setInterval.

 

var rast:Number = Math.sqrt((pole2._x-pole1._x)*(pole2._x-pole1._x)+

(pole2._y-pole1._y)*(pole2._y-pole1._y)); if (rast<3) {

pole2.removeTextField();

pole1.setTextFormat(n, new TextFormat(null, null, 0)); clearInterval(loop);

}

 

, pole1 pole2. , 1/20 , 20 charMover() . . . , _ _ 0,05 . . , . , 20 pole1 pole2 , , : 1 , , . _ _, , , 3 .

 

, , . , createChar(), , , :

 

if (arr.length!= 0) { createSymb();

}

 

, , :

 

pole2._x -= step_x; pole2._y -= step_y;

 

, pole2 :

 

updateAfterEvent();

 

. . .

 

:

 

. user_text. ,

 

speed. . . ( 0 99) , .

 

start.

onPress. :

 

 

but.onPress = function():Void {

//

n=null, text_p=user_text.text, arr=[], speed_t=speed.text;

// setInterval clearInterval(loop);

createMain(100, 100); // };

 

random.fla

13.



<== | ==>
II. |
:


: 2016-12-29; !; : 316 |


:

:

, , 1:10
==> ...

1632 - | 1559 -


© 2015-2024 lektsii.org - -

: 0.086 .