- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我这里有一些代码,它获取一个 Sprite 表,并通过获取图像的长度和宽度并将其按行和列划分,将其分成单独的 Sprite 。这适用于我的测试 Sprite 表,但不适用于我实际要在游戏中使用的 Sprite 表。
我的动画课在这里:
package Simple;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.g2d.Animation;
public class RunningMan {
private Texture texture;
private TextureRegion[] walkFrames;
private Animation walkAnimation;
private float stateTime = 0f;
private TextureRegion currentFrame;
int rows = 5;
int cols = 6;
public RunningMan(Texture texture) {
this.texture = texture;
TextureRegion[][] tmp = TextureRegion.split(texture, texture.getWidth() / cols, texture.getHeight() / rows); // split the sprite sheet up into its 30 different frames
walkFrames = new TextureRegion[rows * cols];
int index = 0;
for(int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
walkFrames[index++] = tmp[i][j]; // Put the 30 frames into a 1D array from the 2d array
}
}
walkAnimation = new Animation(0.06f, walkFrames); // initialize the animation class
stateTime = 0f;
}
public void draw(Batch batch) {
stateTime += Gdx.graphics.getDeltaTime(); // stateTime is used to determine which frame to show
if(stateTime > walkAnimation.getAnimationDuration()) stateTime -= walkAnimation.getAnimationDuration(); // when we reach the end of the animation, reset the stateTime
currentFrame = walkAnimation.getKeyFrame(stateTime); // Get the current Frame
batch.draw(currentFrame,50,50); // draw the frame
}
}
我运行动画的类在这里:
package Simple;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class Animation extends ApplicationAdapter {
SpriteBatch batch;
RunningMan man;
@Override
public void create () {
batch = new SpriteBatch();
man = new RunningMan(new Texture(Gdx.files.internal("WalkingMan.png")));
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
man.draw(batch);
batch.end();
}
}
当我使用 WalkingMan.png 时,代码运行完美。但是当我使用任何其他 Sprite 表时,例如 WalkingWoman.jpg(我不担心这个不透明),当列和行相应调整时,对齐会关闭。有什么建议么?
最佳答案
动画类似乎通过假设 spritesheet 图像中的所有帧均匀分布来将源图像分割为帧。因此,对于 WalkingMan 图像,512x512px 的原始图像被分为 30 个帧,每个帧宽 85.33px(512/6 列),高 102.4px(512/5 行)。
如您所说,如果您调整 WalkingWoman 图像的列数和行数(即 1300x935),您将获得 36 个帧,每个帧宽 144.44 像素(1300/9 列),高 233.75 像素(935/4 行) )。
问题在于 WalkingWoman spritesheet 的每个帧的间距不均匀。如果将第一帧从图像中分离出来,您会得到以下结果:
see how her foot is cut off on the right
WalkingMan 图像的每个图像都放置在 spritesheet 中大小相同的边界框中。您只需确保 WalkingWoman 工作表的每个框架以相同的方式均匀分布。
关于java - 使用 LibGdx 在 Java 中对 Sprite Sheet 进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58958194/
我在 Android 中使用 Google Sheets API v4。 https://developers.google.com/sheets/api/quickstart/android 我需要
我想使用 googlesheetv4 api 在 googlesheet 中使用 rowno 删除一行。有人可以给我提供一个示例代码吗?我创建了一个删除行的方法公共(public)无效deleteRo
我想使用 googlesheetv4 api 在 googlesheet 中使用 rowno 删除一行。有人可以给我提供一个示例代码吗?我创建了一个删除行的方法公共(public)无效deleteRo
如何在 Google 表格中获取数据透视表,其中一列显示值在列中出现的次数? 我知道可以使用 countif 来完成。功能,但我想使用数据透视表来完成。 最佳答案 转到顶部菜单 Data--> Piv
在 Google 表格中,我尝试使用作用于其他两个单元格的条件格式公式将文本添加到不同的单元格。 例如,我有几列......“C”和“E”。我正在比较 C25 和 E25 中的值,如下所示:=E25<
假设我有一个带有随机工作表名称的工作簿,“Bob”、“Sally”、“Billy”、“John”或类似的非连续名称。我还有另一张名为“总计”的表格。我怎样才能对特定单元格的值求和,比如所有单元格的“H
我已经能够使用 Google Sheet 的 SEQUENCE为我提供 Partner 1 的顺序日期的公式但随后公式停止并且不会继续到 Partner 2 . 我曾尝试在 Google 的 Arra
我需要对字符串中的所有数字求和,在字符串中不会有任何字母只有数字。单元格包含 112121 . 我尝试使用 SUM和 CASE与 QUERY函数,但是 CASE不支持。 示例:1121 = 5。 最佳
在 Google Sheets 上,我试图在一个单元格中使用文本(比如 B4 包含:“Janet”)并在另一个单元格中的句子中引用它(比如 G4 是:“嗨{在此处输入 B4},我正在到达今天给你……”
我正在创建一个锻炼电子表格来跟踪我每周的表现,每张表格都涵盖了一周的锻炼。每张纸(除了第一张)都是前一张纸的副本,我想从上一张纸中继承一些值;例如,前一周的练习次数。 我已经阅读了一些 API,但似乎
我尝试使用示例“读取多个范围”: https://sheets.googleapis.com/v4/spreadsheets/{SpreadsheetID}/values:batchGet?range
我有一个从 Google 电子表格中获取数据的网站。我希望我的用户在不登录的情况下查看获取的数据。这可能吗?怎么做? 为了获取和更新工作表数据,我只需要一个帐户,最好在服务器端登录。但是,我没有看到任
我正在 Google Sheets 中使用 COUNTIF 公式进行一些动态蒙特卡罗模拟。有些事情不像我想象的那样工作,但我无法解决。我有两列要比较,我需要计算一列中的值大于另一列中的值的实例。如果我
我正在使用 Google Sheets 中的一个大(但简单)的公式,该公式重复使用相同的公式块。要从一堆不同的选项卡中获取一堆数据,我必须在该公式块中使用 708 个字符。但是随后我需要在 1 个单元
我在我的工作表中使用以下查询为艺术家导入总 Spotify 流。例子:=IMPORTXML("https://chartmasters.org/spotify-streaming-numbers-to
我正在尝试做一个非常简单的 lookup在数据验证字段上: 我有 4 个简单的值: 无风险 低 中级 高 除此之外,我还有以下值(value)观: 0 0.1 0.2 0.5 我使用 lookup公式
我有一个专栏 COLUMN H | Column R trading type | Closed P&L Lotto | 100% Lotto | 200% | 100% Day |
我正在寻找一种通过Google Sheets API创建一组行的方法-有没有办法做到这一点?我看不到找到可以做到这一点的API,但似乎应该是相当普遍的格式设置需求。 通过选择一组行,右键单击,该选项在
我有一个表,基本上显示了另一个表的数据。问题是:我在原始表中有一些脚本程序,这些程序涉及删除行,当它发生时,我丢失了对行所在位置的引用。 我怎样才能解决这个问题? 已经试过了:='INVENTORY'
我想通过 API v4 隐藏谷歌电子表格中的给定列,但我很难这样做。 有谁知道这是否可能并设法做到了? 我们在 Apps 脚本中有一个 dedicated method这样做,如果 REST API
我是一名优秀的程序员,十分优秀!