代码:
package
{
import com.duowan.util.DrawUtil;
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.text.TextField;
/**
* ...
* @author hacker47
*/
public class SelectMain extends Sprite
{
private var p0:Point = new Point();
private var drawWidth:Number;
private var drawHeight:Number;
public function SelectMain()
{
stage.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
}
private function onDown(e:MouseEvent):void {
p0.x=mouseX;
p0.y= mouseY;
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
}
private function onMove(e:MouseEvent):void {
drawWidth = mouseX - p0.x;
drawHeight = mouseY -p0.y;
graphics.clear();
DrawUtil.drawRect(graphics, p0, drawWidth, drawHeight);
}
private function onUp(e:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
checkRange();
}
private function checkRange():void {
if (drawWidth < 0) {
drawWidth = -drawWidth;
p0.x -= drawWidth;
}
if (drawHeight < 0) {
drawHeight = -drawHeight;
p0.y -= drawHeight;
}
for (var i:int = 0; i < this.numChildren; i++ ) {
var d:DisplayObject = getChildAt(i);
var rect:Rectangle = d.getRect(this);
if (rect.x > p0.x && rect.x < (p0.x + drawWidth)) {
if (rect.y > p0.y && rect.y < (p0.y + drawHeight)) {
selectedDraw(rect);
}
}
}
}
private function selectedDraw(rect:Rectangle):void {
graphics.lineStyle(2, 0x336699);
graphics.drawRect(rect.x, rect.y, rect.width, rect.height);
}
}
}
- 大小: 32.1 KB
- 大小: 41.7 KB
分享到:
相关推荐
3. **组件-是否启用输入框TextInput和CheckBox**:这个实例关注的是用户界面元素的交互状态,如文本输入框(TextInput)和复选框(CheckBox)的启用和禁用。通过学习,你可以理解如何响应用户输入并调整组件的状态,...
1. **Application对象**:`Application`对象代表正在运行的Excel实例,它是所有其他对象的基础。它提供了对Excel应用程序全局设置和行为的访问,如打开、关闭工作簿,以及控制应用程序的可见性等。例如,你可以使用`...
在实际应用中,这样的工具类组合可以帮助我们实现一些高级功能,比如序列化/反序列化XML到AS3对象,动态创建和操作类实例,或者进行自定义的类型检查和验证。使用反射和XML转换,开发者可以构建更加灵活和适应性强的...
- 第3行到第7行通过`For Each`循环检查所有工作表,如果发现名称为“数据”的工作表,则显示一条消息框并退出子程序。 - 如果没有找到同名的工作表,则执行第9行到第12行的代码,创建一个新的工作表并命名为“数据”...
具体来说,假设有三个复选框`Check1`、`Check2`和`Check3`,每个复选框对应一个字符串`str1`、`str2`和`str3`,你需要根据哪个复选框被选中来输出相应的字符串。 **解决方案**: 1. **初始化字符串变量**:定义`...
创建一个复选框,可以通过在设计器中直接拖放,或者在代码中实例化一个新的CheckBox对象。例如: ```vb.net Dim chkBox1 As New CheckBox() chkBox1.Text = "窗体1" ' 其他属性设置,如位置、大小等 Me.Controls....
本实例将深入探讨如何在VBA环境中使用复选框,包括其添加、属性设置、事件处理以及与工作表数据的交互。 首先,让我们了解复选框在VBA中的类型。在用户窗体(UserForm)中,复选框属于`Microsoft Forms 2.0 Object ...
3. **创建Query对象**:利用Session对象的`createQuery`方法,传入HQL语句创建Query实例。 4. **设置参数**:如果HQL语句中包含参数,需调用Query对象的`setXxx`方法为其赋值。 5. **执行查询并处理结果**:最后...
2. **创建实例**:然后,创建 FreeTransformManager 的实例,并将其附加到要可选和可变换的 Sprite 上: ```as3 var transformManager:FreeTransformManager = new FreeTransformManager(mySprite); ``` 在这里...
这个方法接受两个参数:要添加到ZIP文件的文件名和在ZIP内显示的文件名(可选)。例如: ```python import zipfile with zipfile.ZipFile('output.zip', 'w') as myzip: myzip.write('file1.txt') myzip....
为了实现这个自定义的Flash AS3复选框组件,开发者首先会定义一个类,该类包含必要的属性(如选中状态、文本标签等)和方法(如`select()`和`deselect()`)。然后,他们会在`MyCheckBox.fla`中设计组件的视觉表现,...
- `acCheckBox`:创建复选框,允许用户进行多选操作。 - `acComboBox`:组合框,结合下拉列表和输入框功能。 - `acCommandButton`:命令按钮,触发特定的事件或动作。 - `acCustomControlActiveX`:自定义控件,...
这里的`true`参数是可选的,如果设置为`true`,则会考虑对象的透明度,即使对象的部分不完全可见,也会检测到碰撞。 大师的这份资源可能包含了对这些方法的优化,以及如何在复杂场景下高效地处理大量物体的碰撞检测...
3. **自定义列**:在DataGrid中,我们需要为包含复选框的列创建一个自定义的ItemRenderer。ItemRenderer是DataGrid中用于渲染单个数据项的组件。创建一个继承自MX:GridColumn的类,并重写`createChildren`方法来添加...
这段代码在程序加载时创建了一个父节点和两个子节点,并在节点选择后弹出消息框显示所选节点的文本。 6. **优化与扩展** - 可以通过`TreeNode.ExpandAll()`和`.CollapseAll()`方法来展开或折叠所有节点。 - `...
3. **设置项属性**:除了添加文本,我们还可以设置每个项的其他属性,如字体、颜色、是否被选中等。例如,我们可以将“Option1”设为默认选中: ```vba myListBox.ListIndex = 0 ' 设置第一个项为选中 ``` 4. **...
在数据源中,确保每个对象都有与之对应的"field1"和"field2"字段,这样复选框的状态就可以正确地与数据绑定。 为了避免拖动滚动条时出现混乱,我们需要监听DataGrid的scroll事件,并在事件处理函数中同步所有复选框...
- **用户窗体**:设计用户友好的界面,通过按钮、文本框、复选框等控件实现交互式操作,提高用户体验。 - **事件驱动编程**:利用Excel的内置事件(如SheetChange或Workbook_Open),实现自动化响应。 - **错误...
通常,AS3.0中的基本碰撞检测基于对象的边界框,但这种方法可能无法处理非矩形形状或具有透明度的图像。为了实现更精细的控制,我们可以利用BitmapData类进行像素级别的碰撞检测。 BitmapData类是AS3.0中处理像素的...