![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2010
Сообщений: 7
|
Всем привет!
Подскажите пожалуйста направление для воспроизведения похожего эффекта как на сайте http://www.iwamotoscott.com/ Я так понимаю там много коротких линий которые образуют длинные линии, при наведении они меняют градус и расширяются. Спасибо. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Если расстояние от курсора до центра отрезка меньше R, то повернуть отрезок на курсор.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
направление
package { import flash.display.*; public class Main extends Sprite { public function Main():void { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var d:Number = Math.SQRT2 * Line.SIZE; var d2:Number = d / 2; for (var i:int = 0; i < 20; i++) { for (var j:int = 0; j < 10; j++) { this.addChild(new Line(i * d + d2, j * d + d2)); } } } } } import flash.display.*; import flash.events.*; class Line extends Sprite { public static const SIZE:Number = 30; public static const R2:Number = 1.5e4; public static const RAD_GRAD:Number = 180 / Math.PI; public var tR:Number = 0; public function Line(x:Number, y:Number) { this.x = x; this.y = y; this.graphics.lineStyle(0, 0x808080); this.graphics.moveTo( -SIZE, 0); this.graphics.lineTo(SIZE, 0); this.addEventListener(Event.ADDED_TO_STAGE, this_addedToStage); } private function this_addedToStage(e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, this_addedToStage); this.addEventListener(Event.ENTER_FRAME, this_enterFrame); } private function this_enterFrame(e:Event):void { var dX:Number = parent.mouseX - this.x; var dY:Number = parent.mouseY - this.y; tR = dX * dX + dY * dY < R2 ? RAD_GRAD * Math.atan2(dY, dX) : 45; this.rotation += 0.5 * (tR - this.rotation); } } |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 1,764
|
Силин, ты как всегда крут!!!
__________________
а за окном атлантический океан! |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Да, подсказал направление
А что за магическое "1.5e4" ?
__________________
Нормально делай — нормально будет! |
|
|||||
|
Экспоненциальная запись: 1.5e4 = 1.5 * 10000 = 15000
|
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Ага, экспоненциальная. Спрошу по-другому: что за магическое "15000" ? Откуда оно взялось вообще?
__________________
Нормально делай — нормально будет! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Меджик намбер.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:10. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|