PDA

Просмотр полной версии : возможно ли рисовать маской?


+=Metlio=+
12.07.2007, 16:09
есть контур автомобиля, есть фотка автомобиля, можно ли как-нибудь водить мышкой по контуру, и в тех местах, где провел показывалась фотка автомобиля? :mosking:

EMBARGO
12.07.2007, 16:53
Нужно чтоб открывался часть картинки или от следа мышки.

silin
12.07.2007, 17:00
как вариант: в маску, которая изначально пустой мувик (ничего не видно) аттачить мувики, там где водют мышкой..

chingachgoog
12.07.2007, 17:02
Да сейчас полно таких баннеров.

Делается примерно так.
В мувиклипе-маске пишется код

onMouseMove=function(){
i=getNextHighestDepth()
attachMovie("aaa","aaa"+i,i)
this["aaa"+i]._x=_xmouse
this["aaa"+i]._y=_ymouse
}


Где "ааа" - идентификатор клипа-заполнителя (какой-нибудь маленький кружочек). Изначально клип-маска должен содержать какой-нибудь заполненный кусок (хоть за пределами экрана).
Что самое интересное, в этом случае снимается ограничение на маску сложных форм с незамкнутыми/замкнутыми контурами

+=Metlio=+
12.07.2007, 17:20
спасибо за ответы =)
а эт что за строчка?

i=getNextHighestDepth();

etc
12.07.2007, 17:25
А чем BitmapData не угодил?

+=Metlio=+
12.07.2007, 17:26
а что такое БитмапДата?

+=Metlio=+
12.07.2007, 18:01
хз, вот это почему то не пашет:

onMouseMove=function(){
i=getNextHighestDepth()
attachMovie("aaa","aaa"+i,i)
this["aaa"+i]._x=_xmouse
this["aaa"+i]._y=_ymouse
}

рисует только один пиксель, и то не соответствующий координатам мышки =(

chingachgoog
12.07.2007, 18:22
хз, вот это почему то не пашет:

onMouseMove=function(){
i=getNextHighestDepth()
attachMovie("aaa","aaa"+i,i)
this["aaa"+i]._x=_xmouse
this["aaa"+i]._y=_ymouse
}

рисует только один пиксель, и то не соответствующий координатам мышки =(

Если все делать как я описал, то работает :)
(или описывать подробно, типа мувиклип-маска должен быть ручками установлен как маска...)
Насчет координат - да, это же ноу-хау, а не готовый код под конкретный проект, если просто, то надо выставить клип-маску в начало координат в руте, если сложно - то использовать globalToLocal() :)

getNextHighestDepth() - работает с 7-го плеера и выше

+=Metlio=+
12.07.2007, 18:34
да не работает не фига =))

aksios
12.07.2007, 18:46
Если все делать как я описал, то работает :)

Угу. И забивает процессор. :mosking:

Molecula
12.07.2007, 19:00
Всё прекрасно работает, вот, держи файл
khk.com.ua/to_melito.rar

...но лучше через Битмап.

chingachgoog
13.07.2007, 13:10
Угу. И забивает процессор. :mosking:

Наверное, не проверял :)
А что, есть другой код из пяти строчек, понятный для обучения?

+=Metlio=+
13.07.2007, 14:01
Всё прекрасно работает, вот, держи файл
khk.com.ua/to_melito.rar

...но лучше через Битмап.


не грузитцо :mosking: