AS3基础:图片绕中心点旋转

2023-11-29 15:58

本文主要是介绍AS3基础:图片绕中心点旋转,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



 在flex中,roation是以注册点为中心的,而一般我们的元件都是默认以左上角为注册点,而用代码是无法改变它的注册点的,平常项目中,常常需要将元件以指定位置为中心进行旋转,这一篇的小例子,是一张图片绕中心点进行旋转。

 

其实原理很简单,将图片添加到一个SPRITE容器中,而它的坐标,是(1-img.width)/2,和(1-img.height)/2;这样旋转外面的SPRITE,里面的图片看起来正好就像是以图片为中心在旋转。

 

第二篇,将介绍一下用matrix来指定任意位置进行旋转。

 

 

代码如下:

 

package  
{import flash.display.Bitmap;import flash.display.DisplayObject;import flash.display.Loader;import flash.display.MovieClip;import flash.display.Sprite;import flash.events.Event;import flash.events.MouseEvent;import flash.events.TimerEvent;import flash.geom.Matrix;import flash.net.URLRequest;import flash.utils.Timer;/*** 图片旋转* @author hacker47*/public class Main2 extends MovieClip {private var loader:Loader;private var url:String = "1.jpg";private var bitmap:Bitmap;private var imgBox:Sprite;public function Main2() {if (stage) init();elseaddEventListener(Event.ADDED_TO_STAGE, init);}private function init(e:Event = null):void {loader = new Loader();loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);loader.load(new URLRequest(url));}private function onComplete(e:Event):void {bitmap = e.target.content as Bitmap;imgBox = new Sprite();//imgBox.graphics.clear();//imgBox.graphics.lineStyle(1, 0, 1);//imgBox.graphics.drawRect( -50, -50, 100, 100);addChild(imgBox);bitmap.x = 0- bitmap.width/ 2;bitmap.y = 0- bitmap.height/ 2;imgBox.addChild(bitmap);bitmap.cacheAsBitmap = true;imgBox.x = stage.stageWidth / 2;imgBox.y = stage.stageHeight/ 2;stage.addEventListener(MouseEvent.MOUSE_MOVE, running1);}private function running1(e:MouseEvent):void {var dy:Number = Math.round(mouseY) - (imgBox.y);var dx:Number = Math.round(mouseX) - (imgBox.x);imgBox.rotation = Math.atan2(dy, dx) * 180 / Math.PI;}}}

 

 

 

 

 

这篇关于AS3基础:图片绕中心点旋转的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/433432

相关文章

计算绕原点旋转某角度后的点的坐标

问题: A点(x, y)按顺时针旋转 theta 角度后点的坐标为A1点(x1,y1)  ,求x1 y1坐标用(x,y)和 theta 来表示 方法一: 设 OA 向量和x轴的角度为 alpha , 那么顺时针转过 theta后 ,OA1 向量和x轴的角度为 (alpha - theta) 。 使用圆的参数方程来表示点坐标。A的坐标可以表示为: \[\left\{ {\begin{ar

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

JAVA读取MongoDB中的二进制图片并显示在页面上

1:Jsp页面: <td><img src="${ctx}/mongoImg/show"></td> 2:xml配置: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

ps基础入门

1.基础      1.1新建文件      1.2创建指定形状      1.4移动工具          1.41移动画布中的任意元素          1.42移动画布          1.43修改画布大小          1.44修改图像大小      1.5框选工具      1.6矩形工具      1.7图层          1.71图层颜色修改          1

KLayout ------ 旋转物体90度并做平移

KLayout ------ 旋转创建的物体 正文 正文 前段时间,有个小伙伴留言问我,KLayout 中如何旋转自己创建的物体,这里特来说明一下。 import pyapoly = pya.DPolygon([pya.DPoint(0, 0), pya.DPoint(0, 5), pya

在服务器上浏览图片

@StarSky 2018-10-26 15:09 字数 15971 阅读 28 https://www.zybuluo.com/StarSky/note/1294871 来源 2018-09-27 线上服务器安装 imgcat Tool   2018-09-27 线上服务器安装 imgcat 0. 准备文件:iterm2_shell_integration.bash1. 在有权限

[FPGA][基础模块]跨时钟域传播脉冲信号

clk_a 周期为10ns clk_b 周期为34ns 代码: module pulse(input clk_a,input clk_b,input signal_a,output reg signal_b);reg [4:0] signal_a_widen_maker = 0;reg signal_a_widen;always @(posedge clk_a)if(signal_a)

00 - React 基础

1. React 基础 安装react指令 可参考: 官网官网使用教程 如: npx create-react-app 项目名如:npx create-react-app react-redux-pro JSX JSX 是一种 JavaScript 的语法扩展,类似于 XML 或 HTML,允许我们在 JavaScript 代码中编写 HTML。 const element =