浏览器窗口尺寸改变时的图片自动重新定位
时间:2022-04-23
本文章向大家介绍浏览器窗口尺寸改变时的图片自动重新定位,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
俗话说:拳不离手,曲不离口。学过的技能不用,放长了就生疏了,今天以前的同事问我:用户改变浏览器窗口尺寸时,flash中的图片如何重新定位于4个角上。花了近一刻钟才回忆想来:stage有Resize事件,呵呵
代码如下:
1.先把加载图片的逻辑封装一下
package {
import flash.display.Sprite;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.Bitmap;
import flash.events.IOErrorEvent;
import flash.system.LoaderContext;
public class LoadImage extends Sprite {
private var _imgWidth:int;
private var _imgHeight:int;
public function LoadImage(url:String,imgWidth:int=380,imgHeight:int=305) {
this._imgWidth = imgWidth;
this._imgHeight = imgHeight;
var _request:URLRequest = new URLRequest(url);
var _loader:Loader = new Loader();
var _lc:LoaderContext = new LoaderContext(true);
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadComplete);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,loadIO_Error);
_loader.load(_request,_lc);
}
private function loadComplete(e:Event):void
{
//trace("loadComplete");
var li:LoaderInfo = e.currentTarget as LoaderInfo;
var bmp:Bitmap = li.content as Bitmap;
bmp.height = _imgHeight;
bmp.width = _imgWidth;
addChild(bmp);
}
private function loadIO_Error(e:IOErrorEvent):void
{
trace("load error!");
}
}
}
2.主文档类
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
public class ResizeDemo extends MovieClip {
private var _top_left:LoadImage; //左上 的图片
private var _top_right:LoadImage; //右上 的图片
private var _bottom_left:LoadImage; //左下 的图片
private var _bottom_right:LoadImage; //右下 的图片
private var _center:LoadImage; //中心的图片
private var _WIDTH:int; //舞台的宽度
private var _HEIGHT:int; //舞台的高度
public function ResizeDemo() {
// constructor code
if (stage)
{
init();
}
else
{
stage.addEventListener(Event.ADDED_TO_STAGE,init);
}
}
private function init(e:Event=null)
{
stage.removeEventListener(Event.ADDED_TO_STAGE,init);
stage.addEventListener(Event.RESIZE,reSizeHandler);
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
//加载图片
_top_left = new LoadImage("top_left.jpg",100,150);
_top_right = new LoadImage("top_right.jpg",100,150);
_bottom_left = new LoadImage("bottom_left.jpg",100,150);
_bottom_right = new LoadImage("bottom_right.jpg",100,150);
_center = new LoadImage("center.jpg",200,300);
addChild(_top_left);
addChild(_top_right);
addChild(_bottom_left);
addChild(_bottom_right);
addChild(_center);
adjustPosition();
}
private function reSizeHandler(e:Event=null)
{
adjustPosition();
}
//调整位置
private function adjustPosition()
{
_WIDTH = stage.stageWidth;
_HEIGHT = stage.stageHeight;
trace("_WIDTH =",_WIDTH);
trace("_HEIGHT =",_HEIGHT);
trace("_top_left.width =",_top_left.width);
//定位 左上的图片
_top_left.x = _top_left.y = 0;
//定位 右上的图片
_top_right.x = _WIDTH - _top_left.width;
_top_right.y = 0;
//定位 左下的图片
_bottom_left.x = 0;
_bottom_left.y = _HEIGHT - _bottom_left.height;
//定位 右下的图片
_bottom_right.x = _WIDTH - _bottom_right.width;
_bottom_right.y = _HEIGHT - _bottom_right.height;
//定位中心的图片
_center.x = (_WIDTH - _center.width)/2;
_center.y = (_HEIGHT - _center.height)/2;
}
}
}
截图二张:
在线演示地址:http://img.24city.com/jimmy/resize/resizedemo.html
- spring-data-mongodb之MongoTemplate 删除操作
- 总结了一些指针易出错的常见问题(六)
- spring-data-mongodb之MongoTemplate 修改数据
- spring-data-mongodb之MongoTemplate 添加数据
- Cannot create a session after the response has been committed
- spring-data-mongodb之环境准备(1)
- java8 Lambda尝尝鲜
- spring-data-mongodb之批量更新操作
- spring-data-mongodb之Aggregation
- spring-data-mongodb之gridfs
- spring-data-mongodb之自增ID实现
- spring-data-mongodb之Repositor操作数据
- mongodb java操作语法
- spring-data-mongodb之查询操作
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Servlet 3.0 文件上传与下载
- PyCharm 下 Turtle无提示有警告
- JSP 中 out.print() 和 out.write() 区别
- IDEA 导入web项目
- IDEA 连接数据库
- 图解面试题:如何找到破产玩家?
- python面向对象学习(一)
- playbook中when的使用
- 当遇到跨域开发时, 我们如何处理好前后端配置和请求库封装(koa/axios版)
- 你想要的Android性能优化系列:内存优化 !
- phabricator介绍与搭建
- nginx反向代理与负载均衡
- APP | edxposed框架+trustmealredy模块抓包小程序
- nginx动态添加模块
- 曾经豪言“指哪爬哪”,如今被一个JS狠狠教做人