Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.03.2017, 01:25
Sempal вне форума Посмотреть профиль Отправить личное сообщение для Sempal Найти все сообщения от Sempal
  № 1  
Ответить с цитированием
Sempal

Регистрация: Mar 2017
Сообщений: 1
По умолчанию Проблема с кнопкой actionscript

При создании нескольких кнопок расположенных рядом друг с другом и при наведение мышкой с 1 на 2 то иногда получается что 2 кнопки активны, как исправить?

Код AS3:
package {
import flash.filters.*;
import flash.geom.Matrix;
import flash.display.*;
import flash.events.*;
import flash.net.*;
 
public class Shadow extends Sprite {
private var image:Loader;
private var miniImage:Loader;
 
public function Shadow(label:String) {
image=new Loader();
image.load(new URLRequest(label));
image.alpha=0.5;
addChild(image);
 
image.addEventListener(MouseEvent.ROLL_OVER,onOver);
image.addEventListener(MouseEvent.ROLL_OUT,onOut);
}
private function onOut(e:MouseEvent):void {
image.removeEventListener(MouseEvent.MOUSE_MOVE,onMove);
lastState=false;
 
}
private function onOver(e:MouseEvent):void {
image.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
}
private var lastState:Boolean=false;
 
private function onMove(e:MouseEvent):void {
 
 
if (mouseHits(image)) {
if (! lastState) {
lastState=true;
buttonMode=true;
image.alpha=1;
}
} else {
if (lastState) {
lastState=false;
image.filters=[];
buttonMode=false;
image.alpha=0.5;
 
 
}
}
}
 
public function mouseHits(target.sisplayObject):Boolean {
 
if (target == null || target.stage == null) {
return false;
}
 
if (target.hitTestPoint(target.stage.mouseX,target.stage.mouseY)) {
 
var aMatrix:Matrix=new Matrix();
aMatrix.translate(- target.mouseX,- target.mouseY);
 
var bd:BitmapData=new BitmapData(1,1,true,0x00000000);
bd.draw(target,aMatrix);
 
var alpha:uint=bd.getPixel32(0,0) >> 24 & 0xFF;
 
bd.dispose();
 
return alpha > 0x0F;
}
return false;
}
 
}
}


Последний раз редактировалось Wolsh; 28.03.2017 в 02:16.
Старый 28.03.2017, 02:16
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,434
Для оформления своего кода нужно пользоваться тегами AS3
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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