actionscript drag 多个对象(不是同时)

大部分程序是有多个对象需要拖拽的(非同时), 网上大部分的示例仅仅写了一个对象, 有不少地方都是hardcode, 所以我写了一个简单示例, 如果需要同时拖拽多个对象就必须自己写mouseMove事件, 而便直接用actionscript自带的startDrag和stopDrag了

package com.smithfox
{
	import flash.display.SimpleButton;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	
	/**
	 * ...
	 * @author Smith Shi
	 */
	public class Main extends Sprite 
	{
		private var button1:Button;
		private var button2:Button;
		
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			//此处用我自己写的水晶Button对象做示例, 实际只要任何可见对象都可以
			button1 = new Button(60,120,0x6666EE);
			button1.x = 80;
			button1.y = 280;
			this.addChild(button1);
			//注意: button1对象增加mouse_down事件监听
			button1.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
			
			button2 = new Button(80,180,0xFF9999);
			button2.x = 80;
			button2.y = 100;
			this.addChild(button2);	
			//注意: button2对象增加mouse_down事件监听
			button2.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
		}

		private function onMouseDown(event:MouseEvent):void {
			//注意: stage对象增加mouse_up事件监听
			stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
			
			//注意: 用event.currentTarget来区分当前是选中哪个对象的,使button1和button2互不干扰
			event.currentTarget.startDrag(false);
		}
		
		private function onMouseUp(event:MouseEvent):void {
			//注意: stage对象删除mouse_up事件监听
			stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
			//注意: 用this对象的stopDrag()方法, 
			//因为此时Mouse已经释放, event.currentTarget已经不再是鼠标事件发生时的button对象了, 
			//而是stage对象,该对象没有stopDrage()方法
			//用this.stopDrag()可以做到释放任何当前对被drag的对象
			this.stopDrag();
		}
	}
	
}
smithfox | Thursday 14 October 2010 at 10:16 am | | UI        | Used tags: ,

two comments

Louis Vuitton 2015 iPhone 6 case

While the sidewall display and Touch ID display are both great ideas, what we really want to see is a higher resolution display. The iPhone 6 Plus’s display is 401ppi, but that’s still not as impressive as many of its rivals, including the Galaxy Note 4 and the LG G3.

Louis Vuitton 2015 iPhone 6 case, (URL) - 04-06-’15 14:55
franchise d'entretien ménager résidentiel

franchise d’entretien ménager résidentiel, sevice de femme de ménage
Professionnelle de l’entretien, notre dynamique entreprise saura réaliser pour vous l’ensemble des
travaux ménagers.
G.E.M. s’engage sur une prestation de qualité !
Notre équipe de spécialistes chevronnés accomplira un travail à
la fois soigné, rapide et économique.
De plus, nous utilisons exclusivement dees produits écologiques et hautement performants,
issus des toutes dernières technologies.

La vie moderne véhicule auussi de lourdes menaces.
D’apparence inoffensive, meubles, appareils ménagers, matériaux de construction, jouets ou objetrs familiers
peuvent dégager des phtalates ou autres redoutables composés chimiques.

entretien ménager résidentiel
Franchise de Nettoyage Résidentiel et Commercial, service de femme de ménage ,entretien ménager commercial,entretien ménager
commercial, ménage résidentiel, service d’entretien ménager montréal
Nous aidons les personnes désireuses d’être propriétaires d’entreprises prospères à
devenir des professionnels du nettoyage commercial et de la maintenance.

En rejoignant notre réseau d’entreprises,vous bénéficierez d’un avantage concurentiel ainsi que d’une aide apportée par un modèle d’affaires éprouvé
vous assurant de travailler avec un leader du domaine disposant de l’expérience eet la stabilité.

Vous disiez ugmentez vos revenus afin d’améliorer votre
quotidien ? Faites Appel a G.E.M Ménage! service de femme de ménage ,entretien ménager commercial,entretien ménager commercial, ménage résidentiel, service d’entretien ménager montréal, service de femme dde ménage ,entretien ménager
commercial,entretien ménager commercial, ménage résidentiel, service d’entretien ménager montréal
Franchises de Nettoyage Résidentiel et Commercial disponible Partout A Montréal ,Rive Nord et
Rive Sud.

Financement Sans Intérêt par G.E.M .
Un dépôt est obligatoire

Un Investissement de 24 000$ Vous Rapporte (4800$ et plus de Revenus par Mois)!

Matériel et formation fourni

Nous aidons les personnes désireuses d’être propriétaires d’entreprises prospères à devenir des
professionnels du nettoywge commercial et de la maintenance.
En rejoignant notre réseau d’entreprises, vous bénéficierez d’un avantage concurrentiel ainsi que d’une aide apportée par un modèle d’affaires éprouvé vouss assurant
de travailler avec un leader ddu domaine disposant dde l’expérience et la stabilité.

G.E.M Ménage vous ovfre l’opportunité de travailler pendant la journée de
lundi a vendredi .

G.E.M Vous propose des contrats d’entretien ménager avec des horaires souples et un revenu garanti.

Pour les personness libres,les nouveaux arrivants oou les sans-emplois G.E.M peut favoriser votre accès au
marché du travail !

G.E.M vvous propose dees contrats stables et rémunérateurs!

Dans le secteur résidentiel idéal pour un couple, ou unn homme seul dans le seteur commercial
Vous débuter des maintenant

Des techniques et méthodes de travail éprouvées.
Une aide à la constjtution ou à l’enregistrement de leur entreprise.

Des territoires d’exercice protégés.
Entreprise clés en main.
Un garantie qui protège votre investissement

Exigencees de l’entrée de notre réseau :
Les demandes sont examinées attentivemet et une enquête
relative à la candidature est menée.
Les candidats doivent passer une entrevue de sélection.
Avant tout début d’activité, les candidats doivent assister à des
sessions de formation.

Au G.E.M. nous nous assurons que nos franchisés puissent offrir à leurs clients un service
professionnel d’une qualité supérieure à celle de la concurrence.

Franchise disponible au résidentiel et commercial

N’hésitez pas à nous contacter
469 Jean-Talon Ouest Suite # 222
Montreal QC
gemmenage.net
gemmenage.com

franchise d'entretien ménager résidentiel, (URL) - 23-10-’17 05:43
(optional field)
(optional field)
为阻止垃圾广告, 请在提交评论前, 回答一个简单问题(Please answer an simple question)
Remember personal info?
Notify
Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.