Svoy4
07.06.2012, 12:11
есть графические объекты не имеющие события мыши - например shape.
( кто не любит shape прошу не реагировать на тему и не предлагать использовать sprite)
но хочется прикрутить одно событие к объектам не имеющие их:
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends Sprite
{
public function Main():void
{
stage.addEventListener(MouseEvent.CLICK, proba);
function proba(e:MouseEvent):void {
for (var nn:int = 0 ; nn < 20; nn++) {
if (vv[nn].hitTestPoint(mouseX,mouseY)) {trace(nn)}
}
}
var vv:Array = new Array;
for (var nn:int = 0 ; nn < 20; nn++) {
vv[nn] = new Shape();
vv[nn].graphics.beginFill(0);
vv[nn].graphics.drawCircle(10, 10, 10);
vv[nn].x = math.random() * 200;
vv[nn].y = math.random() * 200;
addChild(vv[nn]);
}
}
}
}
объяснение кода:
проверил кликает ли мышь и пересекаются координаты shape и мыши в этот момент.
( проверку можно провести через for(var i in this) { if(typeof(this[i])=="shape") { if (this[i].hitTestPoint...,
но мне удобнее через массив)
у меня вопрос, что еще надо (можно) проверить
- что бы узнать, что мышь находиться именно над изображением, а не над shape?
Вот когда кликаешь по sprite срабатывает только над графикой, так же хочется и над shape
помогите пожалуйста!
( кто не любит shape прошу не реагировать на тему и не предлагать использовать sprite)
но хочется прикрутить одно событие к объектам не имеющие их:
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends Sprite
{
public function Main():void
{
stage.addEventListener(MouseEvent.CLICK, proba);
function proba(e:MouseEvent):void {
for (var nn:int = 0 ; nn < 20; nn++) {
if (vv[nn].hitTestPoint(mouseX,mouseY)) {trace(nn)}
}
}
var vv:Array = new Array;
for (var nn:int = 0 ; nn < 20; nn++) {
vv[nn] = new Shape();
vv[nn].graphics.beginFill(0);
vv[nn].graphics.drawCircle(10, 10, 10);
vv[nn].x = math.random() * 200;
vv[nn].y = math.random() * 200;
addChild(vv[nn]);
}
}
}
}
объяснение кода:
проверил кликает ли мышь и пересекаются координаты shape и мыши в этот момент.
( проверку можно провести через for(var i in this) { if(typeof(this[i])=="shape") { if (this[i].hitTestPoint...,
но мне удобнее через массив)
у меня вопрос, что еще надо (можно) проверить
- что бы узнать, что мышь находиться именно над изображением, а не над shape?
Вот когда кликаешь по sprite срабатывает только над графикой, так же хочется и над shape
помогите пожалуйста!