Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Обработка событий мыши (http://www.flasher.ru/forum/showthread.php?t=81123)

referi 13.06.2006 11:42

Обработка событий мыши
 
Написал вот такой код
Код:

var minx = -180;
var miny = -280;
var maxx = 30;
var maxy = 30;
var mc:MovieClip = _root.createEmptyMovieClip("map", 2000);
mc.useHandCursor = false;
var mc1:MovieClip = mc.createEmptyMovieClip("kr", 2001);
mc1.attachMovie("krug", "krug1", 4000, {_x:20, _y:20});
_root.createEmptyMovieClip("rama", 3001);
_root.rama.attachMovie("ramka", "ramka1", 1);
var z:Array = Array();
var pres = false;
MovieClip.prototype.rectangle = function(x1, y1, x2, y2, clr, alpha) {
        this.beginFill(clr, alpha);
        this.moveTo(x1, y1);
        this.lineTo(x2, y1);
        this.lineTo(x2, y2);
        this.lineTo(x1, y2);
        this.lineTo(x1, y1);
        this.endFill();
};
_root.createEmptyMovieClip("root_mask", 1000);
_root.root_mask.rectangle(0, 0, 500, 400, 100, 0);
_root.setMask(_root.root_mask);
var sch:Number = 10;
for (var j:Number = 0; j<=20; j++) {
        for (var i:Number = 0; i<=20; i++) {
                z[i+j] = mc.attachMovie("pol", "pol"+i+j, sch++);
                z[i+j]._x += 31*i;
                z[i+j]._y += 31*j;
        }
}
mc.onPress = function() {
        mc1._x += 10;
};
mc.onMouseDown = function() {
        pres = true;
        _global.smx = _root._xmouse;
        _global.smy = _root._ymouse;
};
_root.onMouseUp = function():Void  {
        pres = false;
};
_root.onMouseMove = function() {
        if (pres) {
                _global.dx = mc._x+(_root._xmouse-_global.smx);
                _global.dy = mc._y+(_root._ymouse-_global.smy);
                _global.smx = _root._xmouse;
                _global.smy = _root._ymouse;
                scrol();
        }
};
function scrol() {
        if (_global.dx<minx) {
                _global.dx = minx;
        } else if (_global.dx>maxx) {
                _global.dx = maxx;
        }
        if (_global.dy<miny) {
                _global.dy = miny;
        } else if (_global.dy>maxy) {
                _global.dy = maxy;
        }
        mc._x = _global.dx;
        mc._y = _global.dy;
}

Проблема состоит в том что при нажатии правой кнопки мыши происходит перемещение mc1 но хотелось бы что-бы он перемещался но только если не произошло событие .onMouseMove и в тоже время хотелось бы узнать по какому мувику я кликнул.

Techmaker 14.06.2006 09:04

Цитата:

Сообщение от referi
но хотелось бы что-бы он перемещался но только если не произошло событие .onMouseMove

Код:

mc.onPress = function() {
if(!pres){
        mc1._x += 10;
};
};

Цитата:

Сообщение от referi
и в тоже время хотелось бы узнать по какому мувику я кликнул.

Код:

mc.onPress = function() {
trace(this);
};

=)


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

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