PDA

Просмотр полной версии : Рисование звезды и добавление ее на сцену


Killer_13
07.12.2009, 15:22
Хочу нарисовать звезду и добавить на сцену, че т не получается...


package {

import flash.display.*;
import flash.geom.*;

public class main extends Sprite{

public var cStar:Sprite = new Sprite();

public function main(){
this.addChild(cStar);
var fill:Shape = new Shape();
trace("dfd");
fill.graphics.beginFill(0x60A0FF);graphics.drawPath( Vector.<int>([1,2,2,2,2]),
Vector.<Number>([66,10, 23,127, 122,50, 10,49, 109,127]), GraphicsPathWinding.NON_ZERO);
cStar.addChild(fill);
cStar.x = 100;
cStar.y = 200;
}
}

bicubic_bublic
07.12.2009, 15:29
забыли fill.

fill.graphics.beginFill(0x60A0FF);
fill.graphics.drawPath( Vector.<int>([1,2,2,2,2]),
Vector.<Number>([66,10, 23,127, 122,50, 10,49, 109,127]), GraphicsPathWinding.NON_ZERO);

Killer_13
07.12.2009, 15:38
спасибо, работает! :)

Этот пример я взял из AdobeHelp
Насколько понимаю эти параметры задают величину звездочки...
Vector.<Number>([66,10, 23,127, 122,50, 10,49, 109,127])

Как бы так сделать, чтоб звездочки создавались разных размеров, не такие большые, понимаю, что дело нуно в цыкле крутить, и параметры с помощью рандом делать, но как их сюда передать....

bicubic_bublic
07.12.2009, 16:07
Насколько понимаю эти параметры задают величину звездочки...
эти параметры задают точки по которым строится линия (Path)

Killer_13
07.12.2009, 16:49
понял, - неправильно выразился, а как на счет моего вопроса... кто нить подскажет..
Спасибо...

VVall
07.12.2009, 17:12
Надо сместить координаты точек так, чтобы центр звёздочки был в 0, и потом просто умножать все координаты на размер.

anmelegov
07.12.2009, 19:55
создавай новій спрайт, строй в нём звезду и изменяй размер:

star:Sprite = new Sprite;
addChild(star);
star.graphics....
....
var k = 1 + Math.random(); // от 1 до 2
star.width *= k;
star.height *=k;

Killer_13
07.12.2009, 23:06
Спасибо, - попробую. :)