有没有人知道libGDX是否有一种滚动/移动图像/纹理的方法?
解释;我希望能够在其自己的区域中垂直或水平滚动图像的内容(像素)。例如,如果图像向右移动1个像素,则所有像素向右移动1,最右边缘的像素向最左边移动。图像大小不会改变,只会改变其中像素的位置。
我主要使用Sprite类,它可以做很多事情(缩放,旋转等),但是根据需要进行移位/滚动,不存在。
在自己编写方法之前,我想我会在这里问...
以下对我有用,这是由Kush提供的:
float delta = 0f;
// In the Actors act method
delta += Gdx.graphics.getDeltaTime();
// Horizontal
batch.draw(texture, 0, 0, width, height, 0 + delta * 10, 1, 1 + delta * 10, 0);
// Vertical
batch.draw(texture, 0, 0, width, height, 1, 0 + delta * 10, 0, 1 + delta * 10);
答案 0 :(得分:2)
您不需要Sprite,直接使用批量绘制纹理。用于包装第一组
If Text3.Text = "Café Items" Then
If rs.State = 1 Then rs.Close
sql = "SELECT * FROM tbl_reci_inds WHERE reci_prod_code = '" & Text1.Text & "'"
rs.Open sql, cn
With rs
Dim my_prod As String
myprod = !reci_prod_code
Do Until .EOF
If Text1.Text = myprod Then
Dim final_prod As String
Dim final_qty As String
final_prod = !reci_inde
final_qty = Val(Text5.Text) * Val(!reci_qty)
sql = "SELECT * FROM tblCafe WHERE Item_name = '" & final_prod & "'"
rs.Execute sql
With rs
.Update
!Item_qty = Val(!Item_qty) - final_qty
.Update
End With
End If
.MoveNext
Loop
End With
End If
然后使用uv
绘制Texture texture = new Texture("example.png");
texture.setWrap(TextureWrap.Repeat, TextureWrap.Repeat);
或在SpriteBatch中适合您的任何其他方法。