- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在过去的几周里,我一直在尝试学习 libGDX 库。我发现很难理解相机/视口(viewport)关系系统,尤其是在我第一次尝试游戏开发时。我被告知要使用的一行代码以及 API 提到的代码是:
batch.setProjectionMatrix(camera.combined);
尽管进行了 4 个小时的研究,但我仍然对这段代码的功能缺乏完整的了解。据我的基本理解,它“告诉”相机正在寻找的批处理。我缺乏理解力令人沮丧和愤怒,如果有人能帮助我,我将不胜感激。代码 fragment 的另一个问题是我不确定何时需要实现(在渲染方法、创建方法等中)。
最佳答案
考虑用相机拍照。例如。使用您的智能手机相机拍摄公园长凳的照片。当你这样做时,你会在智能手机的屏幕上看到公园里的长椅。这可能看起来很明显,但让我们看看这涉及到什么。
图片上长凳的位置是相对于您拍照时站立的位置。换句话说,它是相对于相机而言的。在典型的游戏中,您不会相对于对象放置对象。相反,您将它们放置在您的游戏世界中。在您的游戏世界和您的相机之间进行转换是使用矩阵完成的(这只是一种转换坐标的数学方法)。例如。当您将相机向右移动时,长凳会在照片上向左移动。这称为 View 矩阵。
图片上长凳的确切位置还取决于长凳和相机之间的距离。至少,它是 3D 的(2D 非常相似,所以请继续阅读)。当它更远时,它更小,当它靠近相机时,它更大。这称为透视投影。您还可以进行正交投影,在这种情况下,对象的大小不会根据与相机的距离而改变。无论哪种方式,公园长凳的位置和大小都会转换为屏幕上的位置和大小(以像素为单位)。例如。公园里的长凳是两米宽,而照片上是 380 像素。这称为投影矩阵。
camera.combined
表示组合的 View 和投影矩阵。换句话说:它描述了游戏世界中的事物应该在屏幕上渲染的位置。
调用 batch.setProjectionMatrix(cam.combined);
指示批处理使用该组合矩阵。每当值更改时,您都应该调用它。这通常是在调用 resize
时以及在您移动或以其他方式改变相机时。
如果您不确定,那么您可以在 render
方法的开头调用它。
关于java - 了解 libGDX 投影矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33703663/
每当我设置 Border.Effect属性的投影效果 控件中包含的每个控件都有一个投影。 有没有办法将阴影设置到边框而不是边框中包含的每个控件? 这是我的代码的一个简短示例:
我正在尝试创建一个带有阴影的对象。我相信您需要 CSS3 来执行此操作,到目前为止我已经有了类似的东西。 div { width:300px; height:100px; background
我希望能够为我的 drawables 文件夹中的矢量添加阴影。目前,当我将具有阴影的 svg 导入 Android Studio 时,转换为 xml 会删除阴影。 我将如何在 Android Stud
使用 NHibernate 2.1,我试图将一个实体及其子集合投影到 DTO 中。我的实体看起来像这样.. public class Application { public int Id {ge
我有问题还是好,我不知道如何将x,y,z值的3d点转换为2d点, 我必须绘制投影,其中的点确实有x,y,z值,但是我不知道如何将它们转换为2d,所以我可以将它们移动到我的轴上。 我一直在寻找Wiki和
我有域类位置 public abstract class BaseEntity where T: struct { public virtual T Id { get; set
我有一个使用 Android Material 图标作为背景的 ImageView 。我尝试添加标高以创建投影效果,但仅显示图标。是否可以将标高添加到矢量资源可绘制对象中? 矢量代码:
我正在尝试连接并以逗号分隔(或空格)列表并将其投影。我在下面有一些示例代码。 public class Friend { public string Name { get; set; } }
是否有任何库可以轻松地允许 Java bean 投影? 我有一个按照 Javabean 约定用 getter 和 setter 编写的 bean,并且在运行时在不同的地方我想要获取一个完全填充的 be
我可以成功地做到: point.transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:
我对 OpenLayers 3 有点问题。我有以下脚本: var map = new ol.Map({ view : new ol.View({ center : [5.611
我正在尝试向 ImageView 添加阴影。 Stackoverflow 的另一个答案似乎是使用 Canvas 和位图等,比需要的复杂得多。 在 iOS 上我会做这样的事情: myImageView.
我有一个 JPanel 元素,我想给它添加一个阴影,我怎样才能给元素添加一个漂亮的褪色阴影?我需要使用外部库还是可以使用内置的东西? 例子: 最佳答案 所以我查看了 swingx它扩展了 JPanel
如何使用 MongoDB 查询预测作者的名字 { name: "Wings Of Fire", author: { first: "Abdul", last: "Kalam" } }
我有一个集合“帐户”,其中包含类似于此结构的文档: { "email" : "john.doe@acme.com", "groups" : [ {
我试图弄清楚如何使用枚举列表(@ElementCollection)对实体进行 DTO 投影。不幸的是,缺少 QueryDsl 文档,在这里我只能找到版本 3 的结果 不是 适用于版本 4。 @Ent
我想要悬停 div 时出现的箭头 here也投下影子。箭头是从 CSS 绘制的: .arrow { position:absolute; margin-top:-50px; left:80px; bo
如何使用 QueryOver 和 AliasToBean 将枚举值转换为字符串值?我有以下但在尝试转换 Enum 时出错: SomeDTO someDTO = null;
我有这个外部 GeoJSON 文件: {"type": "FeatureCollection", "features": [ {"type":"Feature", "id":382, "propert
我对 Hibernate 的预测和标准有点困惑。何时使用预测以及何时使用标准? 最佳答案 它们并不相互排斥,您可以同时使用两者。预测通常在某些标准的背景下使用。 简单地说,Hibernate Proj
我是一名优秀的程序员,十分优秀!