Показать сообщение отдельно
Старый 08.05.2009, 10:16
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 3  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Код AS1/AS2:
var _mc:MovieClip = this.createEmptyMovieClip("square_mc", 1);
var square_mc:MovieClip = _mc.createEmptyMovieClip("square_mc", 2);
square_mc.beginFill(0xFF0000);
square_mc.moveTo(0,0);
square_mc.lineTo(100,0);
square_mc.lineTo(100,100);
square_mc.lineTo(0,100);
square_mc.endFill();
 
var _mc_at:MovieClip = _mc.createEmptyMovieClip("upr", 3);
_mc_at.beginFill(0xFFFF00);
_mc_at.moveTo(0,0);
_mc_at.lineTo(20,0);
_mc_at.lineTo(20,20);
_mc_at.lineTo(0,20);
_mc_at.endFill();
_mc_at.onPress = drag_start;
_mc_at.onRelease = drag_stop;
function drag_start() {
	this.startDrag();
	this.onMouseMove = function() {
		scx = _mc_at._x;
		scy = _mc_at._y;
		trace(scy);
		square_mc._yscale = scy;
		square_mc._xscale = scx;
	};
}
function drag_stop() {
	this.stopDrag();
}
Вот накидал такой очень косячный вариант, только для примера.
Уверен, Wolsh в стомильонтысяч раз реализует это лучше

P.S. тянуть нужно жёлтый квадратик..

Добавлено через 28 минут
Вот так ещё можно поизвращаться..
Код AS1/AS2:
var _mc:MovieClip = this.createEmptyMovieClip("square_mc", 1);
var square_mc:MovieClip = _mc.createEmptyMovieClip("square_mc", 2);
square_mc.beginFill(0xFF0000);
square_mc.moveTo(0,0);
square_mc.lineTo(100,0);
square_mc.lineTo(100,100);
square_mc.lineTo(0,100);
square_mc.endFill();
 
var _mc_at:MovieClip = _mc.createEmptyMovieClip("upr", 3);
_mc_at.beginFill(0xFFFF00);
_mc_at.moveTo(100,100);
_mc_at.lineTo(80,100);
_mc_at.lineTo(80,80);
_mc_at.lineTo(100,80);
_mc_at.endFill();
_mc_at.onPress = drag_start;
_mc_at.onRelease = drag_stop;
function drag_start() {
	this.startDrag();
	this.onMouseMove = function() {
		scx = _mc_at._x+100;
		scy = _mc_at._y+100;
		trace(scy);
		square_mc._yscale = scy;
		square_mc._xscale = scx;
	 updateAfterEvent();
	};
}
function drag_stop() {
	this.stopDrag();
}
 
square_mc.onPress=drag_start_mc
square_mc.onRelease=drag_stop_mc
function drag_start_mc() {
	this._parent.startDrag();
}
function drag_stop_mc() {
	this._parent.stopDrag();
}
Добавлено через 1 час 33 минуты
Пока нечем заняться ещё такую фичу сваял..

Код AS1/AS2:
var _mc:MovieClip = this.createEmptyMovieClip("square_mc", 1);
var square_mc:MovieClip = _mc.createEmptyMovieClip("square_mc", 2);
square_mc.beginFill(0xFF0000);
square_mc.moveTo(0,0);
square_mc.lineTo(100,0);
square_mc.lineTo(100,100);
square_mc.lineTo(0,100);
square_mc.endFill();
 
var _mc_at:MovieClip = _mc.createEmptyMovieClip("upr", 3);
_mc_at.beginFill(0xFFFF00);
_mc_at.moveTo(100,100);
_mc_at.lineTo(80,100);
_mc_at.lineTo(80,80);
_mc_at.lineTo(100,80);
_mc_at.endFill();
_mc_at.onPress = drag_start;
_mc_at.onRelease = drag_stop;
function drag_start() {
	this.startDrag();
	this.onMouseMove = size;
}
function size() {
	scx = _mc_at._x+100;
	scy = _mc_at._y+100;
	trace(scy);
	square_mc._yscale = scy;
	square_mc._xscale = scx;
	updateAfterEvent();
}
function drag_stop() {
	this.stopDrag();
}
 
square_mc.onPress = drag_start_mc;
square_mc.onRelease = drag_stop_mc;
function drag_start_mc() {
	this._parent.startDrag();
}
function drag_stop_mc() {
	this._parent.stopDrag();
}
//разреш.монитора>>это всё лишний хлам...>>>>>>>>>>
var scr_x = System.capabilities.screenResolutionX;
var scr_y = System.capabilities.screenResolutionY;
trace('Разрешение манитора: '+scr_x+"/"+scr_y);
//Двойной клик
var delay:Number = 300;
var myBroadcaster:Object = new Object();
AsBroadcaster.initialize(myBroadcaster);
var myListener:Object = new Object();
myBroadcaster.addListener(myListener);
Mouse.addListener(myListener);
myListener.onMouseDown = function() {
	if (_mc.square_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
		clickInterval = getTimer()-clickTime;
		clickTime = getTimer();
		if (clickInterval<delay) {
			myBroadcaster.broadcastMessage("onDoubleClick");
			clickTime = -delay;
		}
	}
};
myListener.onDoubleClick = function() {
	if (!this.flag) {
		screen_MAX();
	} else {
		screen_MIN();
	}
	this.flag = !this.flag;
};
function screen_MAX() {
	_mc_at._x = scr_x;
	_mc_at._y = scr_y;
	size();
	trace(_mc_at._x);
}
function screen_MIN() {
	_mc_at._x = 100;
	_mc_at._y = 100;
	size();
}
Двойной клик квадратик растянется под ваше разрешение экрана.


Последний раз редактировалось KiL33; 08.05.2009 в 10:30. Причина: Заменил код, он, оказывается, был ещё более косячным, чем я предположил.