touchpoint_pointpillars

touchpoint_pointpillars理想如果不向现实做一点点屈服,那么理想也将归于尘土。锚点的简介在SpriteKit的游戏开发当中经常会使用到AnchorPoint这一属性,锚点的使用一般是配合着position属性使用的,锚点是在自身View上找,这个点一一映射的有一个父view的坐标(使用position来表示),可以通过这两个值来计算子视图的位置信息.也就是说position用来设置CALayer在父层中的位置,而anchorPoint决定着CALayer身上的哪个点会在position属性所指的位置.coco.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

理想如果不向现实做一点点屈服,那么理想也将归于尘土。

touchpoint_pointpillars

锚点的简介


在SpriteKit的游戏开发当中经常会使用到AnchorPoint这一属性,锚点的使用一般是配合着position属性使用的,锚点是在自身View上找,这个点一一映射的有一个父view的坐标(使用position来表示),可以通过这两个值来计算子视图的位置信息.也就是说position 用来设置CALayer在父层中的位置,而anchorPoint 决定着CALayer身上的哪个点会在position属性所指的位置 .

cocos 2d、SpriteKit与iOS坐标系.


对锚点的介绍之前,我们首先对cocos 2dx、SpriteKit与iOS坐标系进行对比.cocos2d与SpriteKit里采用OpenGL ES坐标系,坐标原点在屏幕左下角。而iOS采用的是,坐标原点在屏幕左上角。如下图所示.

Quartz 2D坐标系

OpenGL ES坐标系

锚点的使用


锚点的类型是CGPoint类型数据,锚点的取值范围为(0,0)~(1,1)之间.如下图所示.

锚点的取值范围

接下来我们就在iOS中举例子来说明锚点的作用(在SpriteKit中同理).我们在场景中设置一个View,View的大小为(100,100).如下进行三种方案.

方案一: 设置View的position(位置信息)为(50,50),锚点AnchorPoint为(0.5,0.5),那么这样做就说明View的中心是在父视图的(50,50)这个点上.如图中 ① 所示.
方案二: 设置View的position(位置信息)为(50,50),锚点AnchorPoint为(0,0),那么这样做就说明View的原点是在父视图的(50,50)这个点上.如图中 ② 所示.
方案三: 设置View的position(位置信息)为(50,50),锚点AnchorPoint为(1,1),那么这样做就说明View的终点是在父视图的(50,50)这个点上.如图中 ③ 所示.

touchpoint_pointpillars

通过上面的三个方案,对锚点的理解就差不多了,锚点的使用更多的是用于动画,游戏开发当中.在iOS普通开发中一般都是直接使用frame设置View的大小,位置信息.如果有任何疑问,可以在下面下面的评论区提出,我会及时回复,谢谢.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/184659.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • msfconsole命令大全_msfconsole实战

    msfconsole命令大全_msfconsole实战MSFconsole有许多不同的命令选项可供选择。以下是Metasploit命令的核心组合,并参考其格式。back从当前上下文返回banner显示一个很棒的metasploit横幅cd更改当前的工作目录color切换颜色connect与主机通信edit使用$VISUAL或$EDITOR编辑当…

  • navicat premium15激活码(JetBrains全家桶)

    (navicat premium15激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlS3…

  • java获取服务器文件路径,干货满满!

    java获取服务器文件路径,干货满满!一、SpringCloud微服务概念定义提起微服务,不得不提SpringCloud全家桶系列,SpringCloud是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。SpringCloud通过SpringBoot风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。开发者可以快速的启动服务或构建应用、同时能够

  • luajit性能优化[通俗易懂]

    luajit性能优化[通俗易懂]本文转载地址:(http://www.cnblogs.com/zwywilliam/p/5992737.html)luajit是目前最快的脚本语言之一,不过深入使用就很快会发现,要把这个语言用到像宣称那样高性能,并不是那么容易。实际使用的时候往往会发现,刚开始写的一些小testcase性能非常好,经常毫秒级就算完,可是代码复杂度一上去了,动辄几十上百毫秒的情况就会出现,性能表现非常飘忽。

  • Linux中添加路由_linux添加临时路由命令

    Linux中添加路由_linux添加临时路由命令一:使用route命令添加使用route命令添加的路由,机器重启或者网卡重启后路由就失效了,方法://添加到主机的路由#routeadd–host192.168.1.11deveth0#routeadd–host192.168.1.12gw192.168.1.1//添加到网络的路由#routeadd–net192.168.1.11netmask255.255.255.0eth0#routeadd–net192.168.1.11netm

  • Centos7部署Nginx负载均衡Tomcat服务器及session共享架构

    Centos7部署Nginx负载均衡Tomcat服务器及session共享架构

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号