import flash.geom.Rectangle;
import flash.display.MovieClip;
import flash.display.Sprite;var arr:Array = [];
var dis:Number = 20;//间距
var len:int=15;//对象数量
var bound:Rectangle = new Rectangle(0,0,1000,800);//显示范围
for(var i:int = 0;i<len;i++){var obj:Sprite = new Sprite();obj.graphics.beginFill(0xcccccc);obj.graphics.drawRect(0,0,120,100);obj.graphics.endFill();obj.name = "obj_"+i;arr.push(obj);this.addChild(obj);
}
reset();
function reset():void{for(var j:int = 0;j<len;j++){setPosition(this.getChildByName("obj_"+j) as Sprite);//test(this.getChildByName("obj_"+j) as Sprite);
    }
}
function setPosition(obj:Sprite):void
{obj.x = Math.random()*(bound.width-obj.width)+bound.x;obj.y = Math.random()*(bound.height-obj.height)+bound.y;for(var i:int = 0;i<arr.length;i++){if(obj != arr[i]){//不重叠,没有间距/*if(obj.hitTestObject(arr[i])){setPosition(obj);return;}*///不重叠,并有一定间距dis,间距为0效果同上if(Math.abs(obj.x-arr[i].x)<obj.width+dis&&Math.abs(obj.y-arr[i].y)<obj.height+dis){setPosition(obj);return;}}}
}
//检测是否重合
function test(obj:Sprite):void
{for(var i:int = 0;i<len;i++){if(obj != arr[i]){if(obj.hitTestObject(arr[i])){trace(obj.name,arr[i].name);}}}
}

转载于:https://www.cnblogs.com/frost-yen/p/4991133.html

[ActionScript 3.0] AS3.0 对象在一定范围随机显示不重叠相关推荐

  1. [ActionScript 3.0] AS3.0 下雨及涟漪效果

    帧代码: stage.frameRate = 80;function init(x1:Number,y1:Number) {var mc:MovieClip=new MovieClip();addCh ...

  2. [ActionScript 3.0] AS3.0 简单封装Socket的通信

    Socket服务器 package com.controls.socket {import com.models.events.AppEvent;import com.models.events.Ap ...

  3. [ActionScript 3.0] AS3.0 调试出现安全沙箱冲突错误解决办法

    提示 *** 安全沙箱冲突 *** 到 http://api.map.baidu.com/telematics/v3/weather?location=%E6%88%90%E9%83%BD&o ...

  4. 如何快速将AS2.0/AS3.0/fla/swf/ppt等课件产品转化为html5跨平台交互课件。

    随着flash逐渐被html5取代,很多教育机构都在面临着如何将自己的flash交互课件产品转换到html5版本的问题,最近遇到非常多的客户一上来就问我,flash课件能直接转成Html5课件么?答案 ...

  5. swf/AS2.0/AS3.0/fla/ppt课件如何转化为跨平台HTML5交互课件/动画?

    随意移动网络的快速发展,随着adobe宣布放弃对flash插件的更新,flash课件逐渐淡出大家视线,HTML5交互课件/动画/益智游戏 开始取而代之,ppt课件也逐渐向动态交互html5方向发展. ...

  6. [ActionScript 3.0] AS3 绘制正八面体(线条)

    分析: 将八面体置于3D坐标系中,其中心的坐标位于原点(0,0,0),让八面体的六个顶点恰好位于3D坐标系的x轴.y轴和z轴上,则从八面体的中心到这六个顶点的距离是相等的.我们可以假设这个距离为r,则 ...

  7. AS3.0编程 So本地数据存储(“超级cookies”)--AS3:Local SharedObject

    Flash影片运行过程中,大多数的数据都存储于影片本身,一旦影片被关闭,这些数据也就从内存中被清除掉,下次运行时,数据将从头开始.若想存储数据或者让客户端的多个影片共享同一组数据,就要想办法把数据存储 ...

  8. AS3.0 与网络通信

    Flash 之所以能够有着越来越大的发展空间, 其良好的数据交互功能也起着极为重要的作用. 在 ActionScript 3.0 中,所有的与外部数据进行交互的功能都被放在 flash.net.*包中 ...

  9. as3.0中如何阻止事件冒泡?

    as3.0中的事件冒泡机制有时候会很烦人,比如一个Sprite(方便下文描述就命名为Container吧)把另一外Sprite(称为Child吧)做为子元素套进来以后,如果两个Sprite都注册了Mo ...

最新文章

  1. SprintBoot开发官方指导文档
  2. struts2配置问题
  3. javascript中parseFloat(x)、parseInt(num,radix)、Promise、ReferenceError、Reflect、get和set
  4. C++ opengl 学习笔记-在OpenGL入门级代码里面glLoadIdentity的理解
  5. Adobe Illustrator CS6 绿色简体中文版下载地址
  6. 求老板放过!我Java8还没用呢,Java14又来了...
  7. 深度学习(四十)优化求解系列(2)简单理解神经网络求解过程-未完待续
  8. 前端:HTML/07/综合案例:月福首页,开发网站的流程,网站布局结构,排版准备,图片热点,网页多媒体
  9. Fiddler使用过程中无法抓取https的解决方法
  10. 职业生涯规划访谈记录关于计算机专业,计算机专业职业生涯规划书
  11. 力士乐电源模块故障代码_REXROTH DRIVE博士力士乐伺服驱动器故障代码大全
  12. bp神经网络的主要功能,BP神经网络的实现包括
  13. 关于2019中国移动广西分公司社会招聘互联网电视维护岗位笔试、面试经验分享
  14. 【51单片机实例教程】智能小车(一)让你的小车跑起来
  15. [转]ASP.NET 安全认证(三): 用Form 表单认证实现单点登录
  16. Python mysql的常用操作
  17. 程序员为什么要时刻保持危机感?
  18. 小程序云开发报出Error: errCode: -404011 cloud function execution error | errMsg: clou……错误
  19. python实操100例实例_python开发之list操作实例分析
  20. 利用 NSS Key Log 解密 HTTPS

热门文章

  1. C# list集合 重复元素 索引_源码分析专题10-纯手写JDK不同版本下的List接口
  2. PyQt5入门——手把手教你配置环境,快速上手GUI程序开发(Anaconda+PyCharm+Qt Designer+pyuic)
  3. leetocde —— 114. 二叉树展开为链表
  4. 【课后习题】数值计算方法期末复习
  5. c语言终极面试宝典 pdf,C语言终极面试--编程
  6. 欠拟合和过拟合以及如何选择模型
  7. django连接MySQL报错Did you install mysqlclient?
  8. .net core 调用c dll_C++ 调用C封装DLL库的两种方式
  9. python扫地机器人开发学校_扫地机器人源码及解释
  10. php中的rand,php rand() 随机数生成的方法介绍