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的大小,位置信息.如果有任何疑问,可以在下面下面的评论区提出,我会及时回复,谢谢.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电容论坛(电感电容电压公式)

    玉山YGR智能电容以客为尊智能电容器模块是新一代无功补偿模块化装置,结合绿色智能电网的精神应用于绿色电网。产品以微电子技术为基础,集成了自动测控、无功优化、过零切换、多重保护、网络通信、大屏幕显示等技术,实现了低压无功补偿的全部功能,并改变不同的组合构造不同的补偿方案。它是一种智能化、模块化、标准化、集约化的无功补偿装置。 投切电容器组大约20-30毫秒内就完成一个全部动作,这种…

    2022年4月15日
  • 实验室仪器管理系统_实验室设备管理系统代码

    实验室仪器管理系统_实验室设备管理系统代码实验室设备管理系统主要包括:实验室设备信息的管理模块,实验室设备信息的浏览查询模块,设备事故记录模块,设备资料管理模块设备的损坏管理模块,设备损坏信息浏览查询,设备类别设置,系统用户的管理。通过本系统,可以更加有效的管理学生实验室设备信息开发技术:php,mysql,apache课题名称:实验室设备管理系统1)系统简介每学年要对实验室设备使用情况进行统计、更新。其中:(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号

    2022年10月13日
  • IDEA汉化之2021版本

    IDEA汉化之2021版本打开最新版本的IDEA后在浏览器直接进入Chinese(Simplified)LanguagePack/中文语言包-IntelliJIDEs|JetBrains,右上角,IDEA中会出现弹窗,直接起飞!

    2022年5月29日
  • java webservice 实例

    java webservice 实例javawebservice实例 byhgwayen实验目的1.实现一个具有WebService功能的分布式对象类,能够实现求两个整数的最大值的功能。2.在另一台计算机(虚拟机)上,编写客户端程序,通过WebService技术访问远程的基于WebService的分布式对象Max,达到求两个整数的最大值的功能。一、创建并运行HelloWorldWebService.java。1.在classpath路径下新建/rs_midtest、/rs_

    2022年7月21日
  • springEL表达式_赋值表达式的条件

    springEL表达式_赋值表达式的条件一、SpEL介绍二、SpEL用法1.在@Value注解中使用2.在XML配置中使用3.在代码中创建Expression对象三、SpEL原理1.解析器:ExpressionParser2.表达式:Expression3.上下文:EvaluationContext使用流程四、表达式语法1.基本表达式①字面量表达式②算数运算表达式③关系运算表达式④逻辑运算表达式⑤字符串连接及截取表达式⑥三目运算⑦Elivis表达式⑧正则表达式2.类相关表达式

    2022年9月11日
  • Python中strip()函数

    Python中strip()函数在pythonAPI中这样解释strip()函数:声明:s为字符串,rm为要删除的字符序列s.strip(rm)删除s字符串中开头、结尾处,位于rm删除序列的字符s.lstrip(rm)删除s

    2022年7月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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