![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
Как на битмапе можно программно рисовать круги ?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Нарисовать круг по старинке, потом загнать в битмап и прилепить там, где нужно, к другому битмапу.
|
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
аа.. Только так? я думал, может есть функция какая-нить специальная.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну в AS3 есть хотя бы drawEllipse, уже проще.
|
|
|||||
|
меценат
|
this.createEmptyMovieClip("circle", 2);
circle.lineStyle(0, 0x000000);
drawCircle(circle, 100, 100, 100);//менеешь одновременно три значения , меняешь диаметр .
function drawCircle(mc:MovieClip, x:Number, y:Number, r:Number):Void {
mc.moveTo(x+r, y);
mc.curveTo(r+x, Math.tan(Math.PI/8)*r+y, Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
mc.curveTo(Math.tan(Math.PI/8)*r+x, r+y, x, r+y);
mc.curveTo(-Math.tan(Math.PI/8)*r+x, r+y, -Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
mc.curveTo(-r+x, Math.tan(Math.PI/8)*r+y, -r+x, y);
mc.curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
mc.curveTo(-Math.tan(Math.PI/8)*r+x, -r+y, x, -r+y);
mc.curveTo(Math.tan(Math.PI/8)*r+x, -r+y, Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
mc.curveTo(r+x, -Math.tan(Math.PI/8)*r+y, r+x, y);
}
///////////////////////////////////
///////////////////////////////////
///////////////////////////////////
import flash.display.*;
var bmpData:BitmapData = new BitmapData(200, 200, true, 0);//200 это размер битМапа тоесть 200 потаму что у круга радиус 100 соответственно ширина и высота битМапа это диаметр тоесть 2*100=200.
this.createEmptyMovieClip("bmp_circle", 3);
bmp_circle.attachBitmap(bmpData, 1, "auto", true);
bmpData.draw(circle);
circle.removeMovieClip();
//
bmp_circle._x = 175;
bmp_circle._y = 100;
![]()
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники Последний раз редактировалось D12; 19.01.2007 в 01:35. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
import flash.display.BitmapData;
////
function drawCircle (mc:MovieClip, x:Number, y:Number, size:Number) {
mc.lineStyle (size, 0);
mc.moveTo (x, y);
mc.lineTo (x + .15, y);
}
var bmp:BitmapData = new BitmapData (100, 100);
var mc0:MovieClip = this.createEmptyMovieClip ("mc0", 0);
var mc1:MovieClip = this.createEmptyMovieClip ("mc1", 1);
mc1.attachBitmap (bmp, 0);
mc0._visible = false;
drawCircle (mc0, 50, 50, 75);
bmp.draw (mc0);
![]() |
|
|||||
|
ветеран форума
|
А в 8ом так еще можно рисовать квадратики и ромбики
![]()
__________________
4am is time to rock |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
Хитро, но мне подойдет=)
спасибо! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Старый прикол, довольно качественный, кстати
![]() Жаль, правда, что это всё же линия, а не заливка. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|