Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Создание карты мира (http://www.flasher.ru/forum/showthread.php?t=156266)

miki 19.05.2011 01:30

Создание карты мира
 
Есть картинка - например карта мира
Как создать OnMouseOver для каждой страны?

bav 19.05.2011 01:34

Создавайте клипы (или спрайты) с заливками территорий стран и оперируйте ими.

miki 19.05.2011 11:09

Ну просто трудно создавать копию границ страны - все таки не прямоугольные они.
Есть какие то другие способы?

tsarapkabel 19.05.2011 11:23

Если все страны разных цветов, можно брать mouseX, mouseY и считать уже относительно цвета
Код AS3:

getPixel(x:int, y:int):uint


miki 19.05.2011 11:45

Вложений: 1
Нужно чтобы при наведении на область я мог узнать ёё номер (образно говоря)

HardCoder 19.05.2011 12:14

Уже подсказал bav, не знаю, то ли именно он имел в виду, но:
Создай 5 клипов, и отлавливай событие мыши по ним

miki 19.05.2011 12:19

Вложений: 1
Ну а если частей много - для каждого делать слушатель?
P.S. Работаю над казино. Резать стол с рисунка на отдельные мувики и для каждого вручную цеплять слушатель + мучиться слепить их обратно в стол без зазоров?

tsarapkabel 19.05.2011 12:43

Зазоры будут не видны, если сделаешь своей нарезке alpha = 0, и наложишь сверху на эту картинку.
Слушатель вешай один на общий контейнер, а далее работай с event.target.

Но теперь уже название темы не отражает сути вопроса :quiet:

HardCoder 19.05.2011 12:46

создай мувик с 36 кадрами, на каждом из которых нарисуй свою цыфру. Прикрепи его к классу NumberMC
Код AS3:

public function NewClass(){
        for (var i:uint = 1; i < 37; i++){
                var numberMc:NumberMC = new NumberMC();
                addChild(numberMc);
                //numberMc.x = вычисление по х
                //numberMc.y = вычисление по у
                numberMc.addEventListener(MouseEvent.CLICK, onClick);
                numberMc.gotoAndStop(i);
        }
}
 
private function onClick(e:MouseEvent):void {
        trace(e.target.currentFrame); //выведет нужное число       
}


miki 19.05.2011 12:49

tsarapkabel, спасибо так и сделаю.
Тогда еще такой вопрос - как лучше сделать чтобы при наведении мыши числа подвечивались?


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

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