如何创建可拖动的mc?

如何创建可拖动的mc?下面就来看看利用as 3.0 创建可拖动的mc的一代码,注明本文来自网络.

package com.sxl001{
  import flash.display.Sprite;
  import flash.events.MouseEvent;
  public class DragMc extends Sprite {
    private var circle:Sprite;
    private var begin:Boolean;
    private var dx:Number;//用于计算MouseX与圆的x位置差的变量
    private var dy:Number;//用于计算MouseY与圆的y位置差
    public function DragMc() {
      begin=false;
      init();
    }
    private function init() {
      circle=new Sprite();
      addChild(circle);
      circle.graphics.beginFill(0xFF0000);
      circle.graphics.drawCircle(0,0,20);
      circle.graphics.endFill();
      circle.x=stage.stageWidth/2-circle.width/2;
      circle.y=stage.stageHeight/2-circle.height/2;
      circle.addEventListener(MouseEvent.MOUSE_DOWN,onMD);
      circle.addEventListener(MouseEvent.MOUSE_MOVE,onMM);
      circle.addEventListener(MouseEvent.MOUSE_UP,onMU);
    }
    private function onMD(ev:MouseEvent) {
      dx=stage.mouseX-circle.x;//计算MouseX与圆的x位置差
      dy=stage.mouseY-circle.y;//计算MouseY与圆的y位置差
      begin=true;
    }
    private function onMM(ev:MouseEvent) {
      if (begin) {//圆跟随Mouse
        circle.x=stage.mouseX-dx;
        circle.y=stage.mouseY-dy;
      }
    }
    private function onMU(ev:MouseEvent) {
      begin=false;
    }
  }
}

时间: 2024-09-20 00:02:41

如何创建可拖动的mc?的相关文章

ios中创建可以拖动的view原理和实现详解(含代码)

有时候我们会需要在界面上拖动view;uiview是继承于uiresponder的,所以可以响应触摸相关的事件. 重点是以下一组方法: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesEnded:(NSSet *)touches withEvent:(UI

easyui 1.4.3 窗口创建或拖动超过父元素 边界 BUG 解决方法

使用EASYUI 窗口时,创建或者移动 会超过父元素边界,不能关闭,非常别扭. 风来了.fox 标记:主要这边 就是要注意的地方 /** * * @param title * @param href * @param width * @param height * @param modal * @param minimizable * @param maximizable */ function showMyWindow(title, href, width, height, modal, mi

在c# Form中创建一个可拖动的矩形流程节点

创建|可拖动 利用gdi+做过一个在页面中画流程图(流程拓扑图,包括节点和流向)并和xml互相转换的程序,做完后,没怎么用上.而且那会c#也没用多久,对gdi+也是边摸索边做.后来就没怎么改了.现在想拿出来总结和大家共享一下.由于程序较大,先贴个简单的.抛砖引玉.希望结识一些用c#做过工作流的朋友(也希望能有机会和大家一起合作,开发一个好的工作流,希望用c#做过工作流引擎.流程定义工具.通用流程模板的人组织起来.做个好的工作流核心组件)帖的这个程序是很简单的,form上一个矩形节点,可以在for

动态MC按钮的制作教程

按钮|动态|教程 写个MC按钮的教程,实在不登大雅之堂~目的:帮助需要这方面知识,而不得其要的同行爱好者~MX以后版本已经提供了组件,没有必要这样麻烦做这种按钮,不过,我们的目的是为了学习. 本教程主要运用了flash的onClipEvent事件触发器~以及hitTest方法~color对象和智能剪辑~ 1. 创建两个MC 第一个MC为动态文本(label),,设置如图A 文字居中是为了让按钮文字看起来更美观变量加了两个_parent关键字,在创建智能剪辑就可以省去为动态文本再赋值的麻烦其它选项

VC程序中树型控件节点拖动的完美实现

Visual C++中提供的MFC类CtreeCtrl(树型控件)用来显示具有一定层次结构的数据项时 方便.直观,所以它已经被广泛地应用在各种软件中,如资源管理器中的磁盘目录就用的是 树型控件,我们在编程中也会经常用到这个控件,但是这个控件也有缺陷,那就是它并不直 接支持拖动节点等高级特性,这使得程序员在编程时使用它受到了很大限制,同时又给软件 用户带来了一些不便.为此,本实例通过从 CTreeCtrl 中派生了一个类 CXTreeCtrl ,实现 树型控件中节点的拖动.这个类具有如下的功能:⑴

Flash中 MC事件参数详解_Flash As

MC的事件说明如下:  Load:当MC 被装载进来的时候发生此事件  EnterFrame:当MC被卸载的时候发生此事件  MouseDown:当鼠标左键被按下时发生此事件  MouseUp:当鼠标左键被松开时发生此事件  MouseMove:当鼠标移动的时候发生此事件  Keydown:当键盘按钮被按下时发生此事件  Keyup:当键盘按钮被松开时发生此事件  Data:使用loadVariable或者loadMovie动作,当接受到数据时,发生此事件  MovieClip (对象)  MC

做了个flash对mc移动的控制,代码很简单:)_Flash As

复制代码 代码如下: 里面创建了4个MC,分别是zzcn_top_mc zzcn_end_mc zzcn_left_mc zzcn_right_mc . 很简单的..大家可以参考下哦..呵呵.. var place_x:Number = _xmouse; var place_y:Number = _ymouse; var sulv:Number = 6; zzcn_top_mc.onEnterFrame = function(){     this._x += (place_x - this._

仿央视网Flash动态导航菜单

菜单|导航|动态 今天给大家介绍一下央视网站的一个 Flash 导航菜单的制作方法,实现起来非常简单,只用到最基本的动画效果和简单的 Action Script(动作脚本 AS) ,但是效果非常不错.  点击这里下载源文件 分析:该效果主要是利用在按钮的 OVER(经过)帧中放入 Movie Clip(影片剪辑 MC)来实现的,主要效果的实现都是在 MC 中实现的,利用了遮罩.淡入,移动等动画效果叠加的方式.由于几个按钮的实现方式是相同的,所以用到了 MC 的嵌套配合一些简单 AS 的技巧,这是

用FLASH AS实现鼠标画圆的效果

鼠标 在FLASH或PHOTOSHOP中能够很轻松的画出一个圆或者椭圆,怎样做一个作品,让用户可以直接在里面拖动鼠标画出一个圆或者椭圆来呢?下面是BreakDS用AS实现这个效果的讲解-- 预览: 一.基本定义:虽然说不说大家都清楚,但是我还是想讲一下,以免一些人忘得差不多了-- 圆:平面上到定点距离等于定长的点的轨迹.椭圆:平面上到两定点距离和等于定长(定长大于两定点间距离)的点的轨迹. 二.问题描述:画圆和椭圆,使用AS. 三.问题分析: 1.圆呵呵,大多数人看到后肯定想:哼-这不简单,不就