- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
比如说,我在 HTML 页面上有一张图片。我使用 CSS3 矩阵函数对图像应用仿射变换。看起来像:
img#myimage {
transform: matrix(a, b, c, d, tx, ty);
/* use -webkit-transform, -moz-transform etc. */
}
HTML 页面的原点是左上角,y 轴是倒转的。
我试图将相同的图像放在原点为左下角且 y 轴为直立的环境 (cocos2d) 中。
为了在其他环境中获得相同的结果,我需要以某种方式转换原点并将其反射(reflect)在生成的 CGAffineTransform
中。
如果我能在此处的矩阵数学方面获得一些帮助,那就太好了。 (我不太擅长矩阵。)
最佳答案
以下公式可行,用于将位置从 CSS3 转换为 Cocos2d:
(屏幕尺寸 - CSS3 中的“y”位置 - 对象的高度)
解释:
要使 Cocos 环境的原点与 CSS3 环境的原点相同,我们只需将屏幕尺寸添加到 cocos2d 的主体 y 坐标。例如。屏幕大小为 (100,100) 并且正文是一个点对象,如果您将它放在 CSS3 中的 (0,0) 处,它将位于左上角。如果我们将屏幕尺寸添加到 cocos2d 的 y 坐标,则对象将放置在 (0,100),这也是 cocos2d 的左上角
要使坐标相同,由于 Y 轴是倒置的,我们必须从 Cocos2d 的屏幕尺寸中减去 CSS3 中给出的“Y”坐标。假设我们将上一个示例中的相同点对象放置在 CSS3 中的 (0,10) 位置,我们将在 cocos2d 中将其放置在 (0, 100 - 10) 位置,这与屏幕上的位置相同
因为我们的 body 并不总是一个点对象,所以我们也必须处理它的 anchor 。如果假设 body 的高度是 20 并且我们将它放在 CSS3 中的 (0,10) 处,那么它将被放置在左上角的位置并且会下降,因为 Y 轴是倒转的因此,我们还必须从屏幕尺寸和“y”坐标中减去 body 的总高度,以将其放置在相同的位置,即 (0, 100 - 10 - 20) 将 body 放在 cocos2d 中的相同位置环境
我希望我是正确和清楚的:)
关于objective-c - 如何将变换矩阵左上角的 anchor 更改为左下角?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18730979/
我是 CSS 转换样式的新手。所以我没弄清楚这件事。我玩过这段代码。但它在右侧有一个 Angular 。但我需要左侧的 Angular 形状。像这样。我该如何创建它?或针对这种情况的任何其他方法? d
阅读代码 https://www.gstatic.com/recaptcha/api2/v1531759913576/recaptcha__en.js有许多对 bottomleft 的引用(我认为与通
所以,我一直在尝试将 放到 的底部。在代码中,您可以看到我尝试使用相对位置和 bottom :0 来执行此操作,但它什么也没做。我可以向右浮动,所以我只需要将它放到底部即可。现在它只是一直放在文本的正
我有一个 div,我想在 div 的右下角放一张图片,在左下角放一些图片。它们的高度不同,所以我想确保它们都与 div 的底部对齐。 首先,我使用以下方法使右下角对齐: position: ab
我是一名优秀的程序员,十分优秀!