Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Нарисовать окружность (http://www.flasher.ru/forum/showthread.php?t=50841)

Штрек 04.11.2003 02:16

Можно просто продублировать circle1
и отскалить.

Techmaker 04.11.2003 02:18

Цитата:

Оригинал написал(а) Techmaker
this.createEmptyMovieClip("circle2",2)
with(circle1 ){
lineStyle(5,0x000000,100)
circle(0,0,20)
_x=Stage.width/2
_y=Stage.height/2
}

только что заметил(засыпаю уже, а ещё столько работы) :) замени на:
--------------------------------------------------------------------------------
this.createEmptyMovieClip("circle2",2)
with(circle2 ){
lineStyle(5,0x000000,100)
circle(0,0,20)
_x=Stage.width/2
_y=Stage.height/2
}
--------------------------------------------------------------------------------



Цитата:

Оригинал написал(а) Верас Ольга
Ну и уж последняя наглость - вращение какого -нибудь обьекта (скажем маленького кружка) по окружности?
ну а это уже из области триганометрии :)
--------------------------------------------------------------------------------
MovieClip.prototype.circle = function(x, y, r) {
var mas = new Array();
var step = 16;
var angle = 360/step;
var rad = Math.PI/180;
for (var i = 0; i<=step; i++) {
mas[i] = new Object();
mas[i].x = Math.cos(angle*rad*i)*r+x;
mas[i].y = Math.sin(angle*rad*i)*r+y;
}
this.moveTo(mas[0].x, mas[0].y);
for (var i = 0; i<step; i += 2) {
// curveThreeTo
var cx = 2*mas[i+1].x-0.5*(mas[i].x+mas[i+2].x);
var cy = 2*mas[i+1].y-0.5*(mas[i].y+mas[i+2].y);
this.curveTo(cx, cy, mas[i+2].x, mas[i+2].y);
}
};

this.createEmptyMovieClip("circle1",1)
with(circle1){
lineStyle(5,0x000000,100)
circle(0,0,50)
_x=Stage.width/2
_y=Stage.height/2
}

this.createEmptyMovieClip("circle2",2)
with(circle2){
lineStyle(5,0x000000,100)
circle(0,0,10)
_x=Stage.width/2
_y=Stage.height/2
}

// создаём функцию цыкла
this.onEnterFrame=function(){
// обозначим радиус около которого вращается наша окружность
this.radius1=50
// обозначим скорость движения(вращения) окружности (градус/на кадр)
this.speed=2
// обозначим радианы
this.rad=Math.PI/180
// движение и расчёт
this.stepAngel+=this.speed
/* приравниваем расчитанные координаты к малой
//окружности с учётом расположения по центру */
this.circle2._x=Math.cos(this.stepAngel*this.rad)*this.radius1+Stage.width/2
this.circle2._y=Math.sin(this.stepAngel*this.rad)*this.radius1+Stage.height/2
}
--------------------------------------------------------------------------------

Techmaker 04.11.2003 02:22

Цитата:

Оригинал написал(а) Штрек
Можно просто продублировать circle1
и отскалить.

Проще создать второй клип, а не изменять дупликат :)

Штрек 04.11.2003 02:54

Цитата:

Оригинал написал(а) Techmaker

Проще создать второй клип, а не изменять дупликат :)

Ну конечно??
или
duplicateMovieClip("circle1", "circle2", 2);
circle2._xscale=80;
circle2._yscale=80;
или
this.createEmptyMovieClip("circle2",2)
with(circle2 ){
lineStyle(5,0x000000,100)
circle(0,0,20)
_x=Stage.width/2
_y=Stage.height/2
}
Думаю первый вариант попроще будет :D

Techmaker 04.11.2003 03:05

толщина линии как видишь меняется с размером, а я люблю всё чётко :) :D

Штрек 04.11.2003 03:24

Ну если толщина :D
Тогда просто

this.createEmptyMovieClip("circle1", 1);
with (circle1) {
lineStyle(5, 0x000000, 100);
circle(0, 0, 50);
circle(0, 0, 20);
_x = Stage.width/2;
_y = Stage.height/2;
}

И ничего больше /кроме пропотипа/

Techmaker 04.11.2003 03:31

2Штрек
может тогда проще рисовать прямо в руте без всяких мувиклипов? :)

Штрек 04.11.2003 04:06

РУТ - ЭТО СЕРЬЁЗНО !!! :D

старина смерть 04.11.2003 08:33

с приветом из ада
 
Цитата:

Оригинал написал(а) Techmaker
толщина линии как видишь меняется с размером, а я люблю всё чётко :) :D
А если толщину 0 задать? Тогда она с размером не меняется :)
Какой я умный, оказывается...

Верас Ольга 04.11.2003 11:13

Всем большое спасибо. Ну Вы мужики и накрутили. Без ящика не разобраться. А всего лишь надо - нарисовать 2 окружности разного диаметра. И имитировать их вращение. Мне показалось, что проще всего вращать по этим окружностям какой-нибудь мелкий обьект - дабы он перекрывал сектор окружности - и этим имитировал их визуальное вращение (в разные стороны). И мне не очень ясно с толщиной окружности. Она что, привязана к ее радиусу?
____________________________________________
Имеется в виду проще, чем стряпать какую-то разорваную окружность да еще ее и вращать. Хотя может я и не права -Вам виднее - жираф большой .....


Часовой пояс GMT +4, время: 19:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.