createjs中shape的属性regX和regY

官方文档说regX和regY是图形与注册点的距离。

那么注册点是什么呢?

  1. 我理解注册点就是图形的x/y对应的点
  2. 图形动效的原点就是注册点

如果修改图形的regX和regY值图形在画布上的位置是会被改变的,但是注册点其实并没有被改变。因为图形的x/y值并没有被改变。注册点如果是(100, 100)修改regX/regY之后,注册点还是(100, 100)。

示例

绘制一个正方形宽高都是100。然后设置这个正方形的(x, y)为(100, 100)。

<body onload="init();"><canvas id="game" width="500" height="700" style="background-color: black"></canvas>
</body><script type="text/javascript">
function init() {let stage = new createjs.Stage('game')let shape = new createjs.Shape()shape.graphics.beginFill('red').drawRect(0, 0, 100, 100)shape.x = 100shape.y = 100stage.addChild(shape)stage.update()
}
</script>
</body>

在这里插入图片描述

对于这个正方形来说注册点就在(100, 100)这个位置。这个位置是相对于正方形的父元素的,这个例子中父元素是stage。如果相对于形状左上角的话注册点的坐标就是(0, 0)。

让图形动起来:

<body>
<script src="../../EaselJS-1.0.0/lib/easeljs.js"></script>
<body onload="init();"><canvas id="game" width="500" height="700" style="background-color: black"></canvas>
</body><script type="text/javascript">
function init() {let stage = new createjs.Stage('game')let shape = new createjs.Shape()shape.graphics.beginFill('red').drawRect(0, 0, 100, 100)shape.x = 100shape.y = 100stage.addChild(shape)stage.update()// 动起来流畅点createjs.Ticker.setFPS(60)createjs.Ticker.addEventListener('tick', () => {shape.rotation += 1stage.update()})
}
</script>
</body>

在这里插入图片描述

从动图中可看到动画的原点是图形的左上角也就是图形的注册点位置(100, 100)这个点。

修改regX和regY属性

<body>
<script src="../../EaselJS-1.0.0/lib/easeljs.js"></script>
<body onload="init();"><canvas id="game" width="500" height="700" style="background-color: black"></canvas>
</body><script type="text/javascript">
function init() {let stage = new createjs.Stage('game')let shape = new createjs.Shape()shape.graphics.beginFill('red').drawRect(0, 0, 100, 100)shape.x = 100shape.y = 100// 修改regX regY属性改变正方形位置shape.regX = 50shape.regY = 50stage.addChild(shape)stage.update()
}
</script>
</body>

修改属性regX和regY之后图形的位置发生了变化,相比于上面的图片,图形更加靠近stage的左上角。这时候图形距离stage的距离应该是(50, 50),但是图形的注册点还是(100, 100)并没有被regX和regY的值改变。

在这里插入图片描述

让图形动起来:

<body>
<script src="../../EaselJS-1.0.0/lib/easeljs.js"></script>
<body onload="init();"><canvas id="game" width="500" height="700" style="background-color: black"></canvas>
</body><script type="text/javascript">
function init() {let stage = new createjs.Stage('game')let shape = new createjs.Shape()shape.graphics.beginFill('red').drawRect(0, 0, 100, 100)shape.x = 100shape.y = 100// 修改regX regY属性改变正方形位置shape.regX = 50shape.regY = 50stage.addChild(shape)stage.update()// 动起来流畅点createjs.Ticker.setFPS(60)createjs.Ticker.addEventListener('tick', () => {shape.rotation += 1stage.update()})
}
</script>
</body>

从下面的动图中可以看出来,动画的原点还是在(100, 100)这个位置,注册点并没有改变。

在这里插入图片描述

注:所以注册点并不总是和图形左上角重叠

参考

Shape Class

Easeljs之regX/regY详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

H3C 单区域OSPF配置示例二

转载于:https://www.cnblogs.com/fanweisheng/p/11163688.html

身份反模式:联邦筒仓和意大利面条身份

分析公司Quocirca的最新研究证实&#xff0c;现在许多企业的外部用户比内部用户更多&#xff1a;在欧洲&#xff0c;有58&#xff05;的企业直接与其他企业和/或消费者的用户进行交易&#xff1b; 仅在英国&#xff0c;这一数字就达到了65&#xff05;。 如果您回顾历史&#x…

多个气泡向上冒出!

这里展示白色半透明气泡如下图&#xff1a;实际是动态 思路&#xff1a;HTML里只需要一个CANVAS元素&#xff0c;Javascript里操作canvas 1、给canvas里绘制背景图片 2、在绘制半径为0-10px的圆形&#xff0c;x坐标屏幕水平随机&#xff0c;y所标竖直大于屏幕高度。 圆形背景…

分享25个优秀的网站底部设计案例

相对于网站头部来说&#xff0c;关注网站底部设计的人很少。我们平常也能碰到有些网站的底部设计得很漂亮&#xff0c;给网站的呈现来一个完美的结尾。这篇文章收集了25个优秀的网站底部设计案例&#xff0c;一起欣赏。 me & oli La Bubbly Poogan’s Porch GiftRocket Lin…

wbepack中output.filename和output.chunkFilename

对于webpack配置中filename和chunkFilename在使用中有些不懂的地方&#xff0c;研究之后记录如下。 filename: string | function 此选项决定了每个输出 bundle 的名称。这些 bundle 将写入到 output.path 选项指定的目录下。 对于单个入口起点&#xff0c;filename 会是一个…

OP AMP - 反馈理论在运放中的应用

实际应用的系统绝大多数是闭环的&#xff0c;运放更是如此。 关于反馈理论&#xff0c;需要了解极点&#xff0c;零点&#xff0c;波特图&#xff0c;以及如何用相位裕度&#xff0c;幅值裕度 确定系统的稳定性&#xff0c;这里不作赘述 &#xff0c;不懂的部分可以到网上搜点…

阅读react-redux源码 - 零

阅读react-redux源码 - 零阅读react-redux源码 - 一阅读react-redux源码(二) - createConnect、match函数的实现 react的技术栈一定会遇到redux&#xff0c;而在react中使用redux需要使用react-redux&#xff0c;那么react-redux是怎么包装redux已适用react的呢&#xff1f; …

CORS(跨域资源共享)

CORS&#xff08;跨域资源共享&#xff09;使用额外的HTTP头部来告诉浏览器&#xff0c;允许运行在origin(domain)上的Web应用访问来自不同源服务器上的指定资源。 浏览器访问一个web应用&#xff0c;这个web应用会发很多的跨域请求&#xff0c;例如加载不同源的JS/CSS脚本&am…

[转]jQuery设计思想

转自&#xff1a;http://kb.cnblogs.com/page/109875/ jQuery是目前使用最广泛的javascript函数库。 据统计&#xff0c;全世界排名前100万的网站&#xff0c;有46%使用jQuery&#xff0c;远远超过其他库。微软公司甚至把jQuery作为他们的官方库。 对于网页开发者来说&#xff…

敏捷开发绩效管理之四:为团队设立外部绩效目标(目标管理,外向型绩效)...

这是敏捷开发绩效管理的第四篇。&#xff08;之一&#xff0c;之二&#xff0c;之三&#xff0c;之四&#xff0c;之五&#xff0c;之六&#xff0c;之七&#xff09;最近在看德鲁克的书&#xff0c;发现其中很明确地写着“企业的绩效只存在于外部&#xff0c;而企业内部只有成…

【K8S in Action】服务:让客户端发现pod 并与之通信(2)

一 通过Ingress暴露服务 Ingress (名词&#xff09; 一一进入或进入的行为&#xff1b;进入的权利&#xff1b;进入的手段或地点&#xff1b;入口。一个重要的原因是每个 LoadBalancer 服务都需要自己的负载均衡器&#xff0c; 以及 独有的公有 IP 地址&#xff0c; 而 Ingres…

一个罐子统治一切:Apache TomEE + Shrinkwrap == JavaEE引导

警告&#xff1a;我不是Spring Boot的专家。 我发现很多事情对此非常有趣&#xff0c;并且当然可以真正改善您的日常工作。 而且&#xff0c;我对Spring Boot没有任何反对&#xff0c;也没有开发或使用它的人。 但是我认为社区高估了该产品。 一年前&#xff0c;我开始收到很多…

iview-admin框架运行步骤

第一步&#xff1a; 前往github下载整个iview-admin框架的全部源码 github地址&#xff1a; https://github.com/iview/iview-admin 第二步&#xff1a; 点击Clone or download绿色按钮。下载整个压缩包 第三步&#xff1a; 解压至D盘&#xff0c;在根目录中按 1、前往github下…

.net 垃圾回收学习[How To: Use CLR Profiler][翻译学习]【2】

http://msdn.microsoft.com/zh-cn/library/ms979205 注意&#xff1a;内容可能已经过期了。 注意&#xff1a;CLR Profiler最新版本&#xff1a;http://www.microsoft.com/download/en/details.aspx?id16273 Identifying Common Garbage Collection Issues 可以使用CLR Profil…

JavaOne 2014:会议与合同利益冲突

杜克街咖啡馆&#xff0c;工程师可以在街上进行走廊交谈 。 与签约不兼容 我的第11届JavaOne会议&#xff08;2004年至2014年为11 10 1&#xff09;非常出色。 值得参加此活动并结识社区中所有参与的人。 现在&#xff0c;这里是绅士的&#xff0c;但 。 除了经济上的明显优…

JQuery(三)-- AJAX的深入理解以及JQuery的使用

HTTP HTTP http: 超文本传输协议。特点&#xff1a; 简单、快速、灵活、无状态、无连接 URL&#xff1a; 统一资源定位符。 组成&#xff1a;协议名://主机IP&#xff1a;端口号/项目资源地址&#xff1f;传递参数的键值对#锚点 ①ip地址在同一个网段是唯一的。如果是在公…

JSF的工作方式和调试方式–可以使用polyglot吗?

JSF不是我们通常认为的那样。 这也是一个调试起来可能有些棘手的框架&#xff0c;尤其是在初次遇到时。 在这篇文章中&#xff0c;让我们继续探讨为什么会出现这种情况&#xff0c;并提供一些JSF调试技术。 我们将讨论以下主题&#xff1a; JSF不是我们经常想到的 JSF调试的难…

React组件实现越级传递属性

如果有这样一个结构&#xff1a;三级嵌套&#xff0c;分别是&#xff1a;一级父组件、二级子组件、三级孙子组件&#xff0c;且前者包含后者&#xff0c;结构如图&#xff1a; 如果把一个属性&#xff0c;比如color&#xff0c;从一级传递给三级&#xff0c;一般做法是使用prop…

尝试Office 2003 VSTO的开发、部署

背景&#xff1a;一年前&#xff0c;某项目需要使用到Excel进行数据录入&#xff0c;考虑到很多用户还是使用XPOffice 2003&#xff0c;所以开发的时候直接使用Excel 2003版本进行VBA开发。也许很多人都会说&#xff0c;Win10都出了&#xff0c;微软的Office都要免费了&#xf…

初级开发人员在编写单元测试时常犯的错误

自从我编写第一个单元测试以来已经有10年了。 从那时起&#xff0c;我不记得我已经编写了成千上万的单元测试。 老实说&#xff0c;我在源代码和测试代码之间没有任何区别。 对我来说是同一回事。 测试代码是源代码的一部分。 在过去的3-4年中&#xff0c;我与多个开发团队合作…