我正在使用TextureAtlas加载TextureRegion,我需要为每个加载的纹理生成一个位掩码。我想扩展gdx代码以生成该位掩码。所以我需要在纹理加载到GPU之前找到代码的一部分,但是它可以从CPU访问。有人给我一个提示吗
(该位掩码应该稍后告诉我像素是否透明。我认为这可能是命中检测的一个很好的解决方案)调用使用的。最终将在FileTextureData对象上调用。这将加载包含文件内容的新文件。Pixmap将由a支持,其(本机)load方法将实际从文件中读取字节
Pixmap是包含CPU
我最近一直在学习如何在libgdx中实现我自己的着色器。
到目前为止,我使用自定义着色器提供程序实现了这一点,该提供程序根据对象的userdata值在几个着色器之间进行选择
public class MyShaderProvider extends DefaultShaderProvider {
public final DefaultShader.Config config;
final static String logstag = "ME.MyShaderProvider"
在LibGDX中渲染平铺贴图很容易,但是图层偏移根本不会渲染,但在平铺(平铺贴图编辑器)中显示正确。
渲染贴图显示为所有偏移均为0(完全没有偏移)
Libgdx tileMap渲染器是否支持此功能?我查阅了文档,但没有找到有关这方面的信息
非常感谢,
你好,找到了
平铺中有两个偏移属性,很容易混淆。
一种是“层偏移”,它只是在平铺中偏移层(在libgdx中渲染时没有效果)。
第二个是“Dawing Offset”,只能通过进入“Tileset属性”来实现。这就是你想要的
更改图形偏移将解决此问题
我有这张桌子:
table.add(image1).size(image1.getWidth(), image1.getHeight());
table.add().size(image1.getWidth(), image1.getHeight()).row();
table.add().size(image1.getWidth(), image1.getHeight());
table.add().size(image1.getWidth(), image1.getHeight());
我
我使用的是一个游戏框架libgdx,它包含自己的数组类,该类与JRuby内置数组冲突。有没有一种方法可以使用不同的名称导入com.badlogic.gdx.utils.Array“?差不多
java_import'com.badlogic.gdx.utils.Array',:as=>GdxArray
??谢谢 好了,找到解决办法了
首先,我尝试了这个:
GdxArray = java_import 'com.badlogic.gdx.utils.Array'
但这仍然会导致已经初始化的常量错误
我想使用clicklisterner而不创建stage。我的代码如下:
ClickListener ck = new ClickListener(
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
handleClick(event);
return super.touchDown(ev
声音API似乎缺少一个函数来指示声音已播放完毕。是否有其他方法来确定声音是否完成了?如果不向libgdx提交补丁,就我所知,OpenAL和Android的底层声音后端甚至都不会在内部跟踪信息,尽管音乐API有一个isplay()函数和getPosition()函数,如图所示。只需设置这个
sound.setLooping(false);
这样它就不会一次又一次地运行
并检查声音是否正在播放或消失
不要这样做
生成一个布尔变量
boolean soundplaying;
在render方法中执
标签: Libgdx
collision-detectionactortile
我使用平铺软件创建了10个对象层,并使用正交平铺贴图渲染了平铺贴图
renderer.setView(camera);
renderer.render();
public class GuideCrocodileScreen implements Screen {
public GameStartPoint game;
我最近开始学习libgdx,显然,我一直在研究一些示例游戏和教程
我忍不住注意到作者/开发者如何选择设计他们的游戏类的不一致性——特别是当涉及到“渲染器”类时
在一些示例中,我看到一些作者仅依赖“renderer”类使用SpriteBatch进行绘制。而其他人则倾向于向游戏对象发送SpriteBatch引用,以便自己进行渲染
例如,考虑一个Bird类,有些人会将它与纹理类型关联,加载它并在Bird.render方法中渲染鸟。其他人在单独的“渲染器”类(如WorldRenderer)中加载纹理,并
标签: Libgdx
viewportaspect-ratioscene2d
我正在用libGDX做一个游戏。在我的菜单屏幕中,我以前在舞台上有一个拉伸视口,但现在我想保持纵横比,所以我切换到具有固定高度的填充视口
所以我现在遇到的问题是屏幕边缘的按钮。例如,我在一个屏幕上有一个x位置为0的按钮,现在(取决于设备),它可以在视口边界之外结束。所以我想知道如何使用填充视口或类似的方法来解决这个问题。有没有人有类似的问题?你是如何解决的
多谢各位
viewport.getLeftGutterWidth()
这将返回左侧“黑条”的宽度。当视口小于实际窗口时,将显示一个黑色条。
Libgdx是否每帧创建浮点数组(基元类型)引发垃圾收集?:
public void update(float delta)
{
浮动[]垂直=新浮动[15]
}我想你的意思是。。。如果每帧创建一个浮点数组,它是否会触发垃圾收集
如果这确实是您的意思,那么答案是肯定的,它肯定最终会导致触发垃圾收集
更好的方法是预先分配数组并重用它,或者使用libgdx FloatArray并在每个帧的开头清除它。请详细说明您的问题。完全不清楚你在问什么。
我想写我自己的二进制图形格式,但现在我想知道如何将宽度和高度设置为我的pixmap,然后将特定像素设置为特定颜色。有人知道如何做到这一点吗?我只想为我的自定义扩展编写我自己的pixmap/纹理加载器。使用宽度和高度初始化你的pixmappixmap pixmap=new pixmap(width,height,null)。然后用colorpixMap.drawPixel(x,y,color.RED.toIntBits())绘制一个像素我尝试过使用draw Pixel,但它似乎比从png文件加载要
Firebase jar文件适用于iOS和Android但是当我尝试部署web版本时,它会给我一个错误:
[ERROR] Line 18: No source code is available for type com.firebase.client.Firebase; did you forget to inherit a required module?
我试图将模块设置中的依赖项添加到HTML项目中。
但它仍然给我这个错误
有人知道如何解决这个问题吗
我使用LibGDX,我有一个移动的实体对象(Fixture B)和一个传感器对象(Fixture a)
在我的ContactListener中,我可以检查固体物体和传感器是否发生碰撞,但我无法说出第一个接触点在哪里(我需要知道该点,以便在下一阶段将其用作中心点)
我有以下代码:
@Override
public void beginContact(Contact contact)
{
Fixture fa = contact.getFixtureA();
Fixture fb = con
我一直在阅读有关正交摄影机的文章,但我不确定我是否正确地将其用于我的艺术资产。
首先,我要说的是,我所有的艺术作品都是为iphone5显示器设计的(1136*640)。
现在,我正在使用2正交摄影机s
5米*5米的尺寸-这台相机在游戏中跟随我的主角
尺寸为800px*640px-此相机用于在屏幕上渲染分数、生活等内容
现在我正尝试使用第一台相机来渲染我的艺术,例如,我有一个png图像,
我如何知道如何根据我定义的相机缩放它(记住,它是5米*5米)?
我不能说它是1米(世界大小的1/5),因为图像
是否可以在libGDX中反转坐标系的x轴(或者换句话说,改变其方向)?这是一张草图:
致以最良好的祝愿 您可以更改相机位置。在这种情况下,还可以将相机绕x轴和y轴旋转180度(两个轴都翻转为正值)
你只需要做一次。一般来说不需要,但是在很多地方你可以改变它。你想在哪种情况下改变它?一般的答案是x坐标乘以-1。这将使轴反转。但这取决于您要在何处更改它的上下文?我想从左下角到右下角获取原点(0,0)。因为有一种方法可以改变y轴的方向,我想也许也有一种方法可以改变x轴的方向。但是好的,为了达到这个目
我正在使用场景2D动作为舞台上的演员添加幻灯片移动效果
Window w = new Window(mytitle, myskin);
w.setPosition(stage.getWidth()/2 - w.getWidth()/2, 0);
w.addAction(moveTo(stage.getWidth()+w.getWidth(), 0, 1));
stage.addActor(w);
我的目标是将此窗口从舞台的x中心移动到舞台的右边界加上窗口的宽度
到目前为止,此代码仅使窗口从舞台
标签: Libgdx
opengl-es-2.0glsles
我正在编写一个页面卷曲效果(使用libGdx)。我的代码在Mali GPU(三星S3)上运行良好,但在Adreno GPU(三星Ace)上运行错误:
\ifdef glu
精密中泵浮子;
#恩迪夫
可变矢量2 v_texCoords;
均匀取样器;
均匀采样2D targetTex;
均匀浮动时间;//范围从0.0到1.0
常量浮动最小值=-0.16;
常量浮动最大值=1.3;
浮动金额=时间*(最大金额-最小金额)+最小金额;
常量浮点PI=3.141592653589793;
常量浮点标度=
我使用libgdxgradle设置为android桌面HTML和iOS创建了一个libgdx项目,然后在eclipse中导入了它。我尝试运行桌面应用程序,没有任何更改,这就是eclipse的输出
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: badlogic.jpg
at com.badlogic.gdx.graphics.Pi
标签: Libgdx
widthscreenresolution
nexus 5的屏幕分辨率为1920X1080,Libgdx称为1794X1080。我在横向模式下使用它,libgdx得到了正确的高度,但它减少了宽度。我猜这是因为它没有计算导航栏的像素
是否有任何解决方案使libgdx能够检测包括导航栏在内的宽度?如果您只想获得真实的显示分辨率,您应该检查。但我认为您可能希望以真正的全屏模式运行应用程序。就是这样,没有导航栏。只需在AndroidApplicationConfiguration中设置为true
您可以在此处了解Android沉浸式模式:
我已经为对象创建了两个矩形,.overlap()确实工作得很好,但问题是对象在碰撞后会相互穿透,并且每一帧它都会返回检测到的碰撞消息。如何解决这个问题让我抓狂:(1)Box2D
2) 类似的东西(从学习Libgdx游戏开发中)
private void onCollisonBunnyHeadWithRock(Rock rock) {
BunnyHead bunnyHead = level.bunnyHead;
float heightDifference = Ma
我想在一张表的同一行上加上3个相邻的数字,我还希望每个数字之间有大约100个单位的填充。这些数字下面是与之对应的单词,例如:
0 0 0
Total Wins Losses
但是,如果我使用padding,即table.addactor.padLeft100;,然后将数字从0更改为160也会将数字向右移动,因为我使用了填充。例如:
160 0 0
Total Wins Losses
我
我有两个Actor对象,它们都有不同的输入侦听器,在舞台上的位置几乎相同。我的问题是如何使用单个InputEvent检测它们的触摸。它们的位置是否重叠,并且您实际上会使用单个输入触摸它们
如果同时触摸这两个角色,可以将上层(舞台上较高的角色/最先触摸的角色)的输入侦听器的返回值设置为false,这样输入就不会被视为已处理,并传递给下层角色。两个角色位置相同,最上层的角色检测到触摸,然后事件结束。您给出的解决方案不起作用
我有一个屏幕:
WorldScreen implements Screen, InputProcessor{
....
stageGui.addActor(storyActor);
....
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
}
}
我有一个演员:
public class StoryActor exte
长期读者,第一次海报。。。我正在使用LibGDX和Scene2D将iOS SpriteKit应用程序翻译成Android。我慢慢地掌握了窍门,但我有一个奇怪的形象问题,我无法控制自己。我有三个黑白图像,我在我的游戏板上作为瓷砖使用。在每种情况下,当我将它们添加到舞台上时,它们渲染时黑色部分透明,白色部分黑色。以下是一个例子:
这是我的定制课程
public class Tile extends Actor {
private int value;
private Image prime;
pr
我几乎完成了我的第一个libgdx2d游戏,只是缺少了这个。
目前我有我的主游戏屏幕,它包含3个阶段(按此顺序呈现):
配子期
包含游戏演员、地图等。基本上是游戏本身
信息舞台
关于游戏的所有控件和信息,称为“hud”
对话阶段
用于显示对话框,使其位于所有内容之上
我正在使用单正交摄影机和显示整个地图所需大小的视口,并调整视口,以确保在调整大小或比率发生变化时一切正常
现在,我想做一些更改,使InfoStage和DialogStage在屏幕上保持类似的状态-fixed,并允许Gam
我想在我的舞台上有一个电视屏幕。我有一个主场景,包含电视屏幕和一些其他东西(一些精灵)以及与我要在电视中渲染的内容相对应的场景
因此,我想通过正交摄影机渲染电视场景,然后将结果放入类似精灵的东西中,然后可以通过主正交摄影机渲染,如何做到这一点
我知道可以在多个视口中使用多个摄影机,但这些摄影机直接渲染到我的计算机屏幕的像素上
任何建议都将不胜感激这可以通过从屏幕摄影机的角度将场景渲染到帧缓冲区,然后从帧缓冲区获取纹理区域并将其渲染到屏幕,然后再次渲染场景来实现
例如:
在上面的示例中,青色矩形
有没有一种方法可以在使用libgdx的应用程序中嵌入或以某种方式实现地理定位(通过GPS或任何方法)并使用googlemaps或OSM中的地图?
我找不到与此相关的API或文档,无法使用真实世界地图和增强现实实现应用程序。迟做总比不做好
我已经开始使用开放的街道地图为Libgd实现这样一个扩展。它当前确实加载、缓存和渲染贴图分片。您还可以缩放和平移地图。在未来的更新中,搜索地理位置也是可能的
Github:我能够将Google Maps V2 Api与libgdx一起使用。您可以使用标记、获取位
我在blender 2.6中制作了一个立方体纹理。我将文件cube.png中的颜色贴图指定给了多维数据集。我将文件bump.png中的法线贴图指定给立方体。我将法线贴图设置为法线贴图并影响法线。Blender正确显示法线贴图。然后我使用fbx conv 0.01和选项-o g3dj来获得一个可读文件。我得到的唯一警告是RrSs的东西,可以放心地忽略它。然后我打开文件检查结果。纹理结构不反映法线贴图:
"materials": [
{
"id": "Material",
标签: Libgdx
game-enginegame-physicsflappy-bird-clone
我正在开发一款手机游戏,并试图实现与Flappy bird相同的图像旋转概念
我能够用重力旋转图像计数器时钟,当我触摸屏幕时,旋转是顺时针的
if(GameWorld.ANGLE <= 10){
GameWorld.setANGLE(5* Gdx.graphics.getDeltaTime());
}
Player.velocity.y = 320;
我的问题是,当我触摸屏幕让鸟儿飞翔时,我没有得到顺时针的平稳旋转。这只鸟看起来像船一样摇晃。
我知道这和起源有关,但我被困在这里了
我正在尝试使用LibGDX的纹理打包器gui为视频游戏制作一个纹理图集。但我一直在出血,我想知道如何防止这种情况发生?我尝试了所有不同的过滤器,唯一有效的是最近的过滤器,但我需要MipMaps,所以从性能角度来看,这不起作用。那么,有没有一种方法可以通过mipmap消除alpha出血
我使用的是纹理打包机的3.2.0版本
下面是一些图片,这些图片说明了每幅图片中发生的事情
我解决了它。在TexturePacker中,确保将PaddingX和PaddingY设置为2或更高,并在重复的填充上打上
我使用的是libgdx+scene2d+box2d。在我决定将文本按钮替换为图像按钮之前,一切看起来都很好
我无法重新编辑我的ImageButton,它始终遵循图像尺寸。
这是我的舞台:
stage = new Stage(new StretchViewport(camera.viewportWidth,camera.viewportHeight));
下面介绍如何创建我的按钮:
ImageButtonStyle style = new ImageButtonS
在我的游戏中,我想使用三角学。正如我最初搜索的一样,所有内容都与Actionscript3中的内容相同。但我错了。一切都没有达到应有的效果。因此,在搜索了libGDX论坛和stachoverflow帖子之后,我“玩”了数字游戏,并找到了解决方案。希望它能帮助一些人如何在libgdx中计算角度,以及如何使用三角法设置x和y速度(为了清晰起见,代码省略):
//variables
private Object object;
private float touchX, touchY, angle,
我正在使用Libgdx创建一个游戏,并为此编写了一个调试器。现在我想在另一个LwjglApplication中显示调试信息
有没有办法在Libgdx桌面应用程序中打开多个窗口
创建两个类扩展游戏或实现应用程序列表,一个用于主游戏,一个用于调试窗口
在DesktopLauncher类中,使用上述类的对象创建两个LwjglApplications
public static void main (String[] arg) {
LwjglApplicationConfiguration ma
我正在为libgdx应用程序中的一些文本设置动画,希望标签文本淡入并移动(例如,类似于此)
我可以移动和更改其他对象(例如精灵)的alpha,也可以移动BitMapFontCache。然而,我无法改变BitmapFontChage的alpha
声明:
message = new BitmapFontCache(messageFont, true);
message.setWrappedText("some text", 10.0f, 10.0f, 10.0f);
message.setAlpha
在我的游戏中有很多标签,他们使用位图字体绘制。
当我运行游戏大约20-30分钟时,这个例外就发生了
08-17 00:29:37.520: W/System.err(6526): java.lang.ArrayIndexOutOfBoundsException: length=127; index=-1050
08-17 00:29:37.520: W/System.err(6526): at com.badlogic.gdx.utils.Array.pop(Array.java:294
标签: Libgdx
renderingbox2dactor
我在Android Studio中创建了我的演员和我的身体(Box2D),但在渲染时似乎遇到了问题
在将参与者添加到我的stage对象之前,我设置了body.setUserDataType(actor)。我应该将在参与者的draw类方法上绘制的textureRegion设置为userdata类型,还是像现在这样使用我的参与者作为userdata类型?我相信我必须像这样投射这个方法调用的参数:body.setUserDataType((NameOfActorsClass)actor)你是如何决定将
我想以这样的方式实现围绕cicrle旋转矩形,圆形没有旋转,矩形有旋转。所有对象都是Box2DBody对象。这是我想要的照片:
在我的例子中,矩形和圆形接触,但我认为这并不重要
起初,我尝试用两个Fictures为同一个Body,但旋转有一个问题:我不能有一个带旋转的Ficture和另一个不带旋转的Ficture
我认为,它应该以某种方式与关节相连,但我不知道我应该使用什么Joint。也许还有别的解决办法 我认为distance jointdef会奏效
如果需要,可以将圆的半径作为距离加上一点边
我不明白为什么我不能看到我创建的thouchpad,但它可以工作。这是密码
package com.mygdx.game;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Touchpad;
import com.badlogic.gdx.scenes.scene2d.utils.
这是一个使用box2d的非常简单的场景。我尝试了不同的视口和不同的屏幕尺寸。我不明白为什么尸体下落得很慢。实际上,我不太确定它是否慢,原因可能是视口设置等。
这是主要课程:
public class Main extends Game {
LevelScreen levelScreen;
@Override
public void create () {
levelScreen = new LevelScreen();
setScreen(levelScreen);
}
@
我正试图根据本文在libGDX中创建海浪:
一切都很顺利,但当我尝试使用反射着色对我的三角形网格进行着色时,着色并不平滑,而且非常起伏。我只是将顶点法线传递给网格,而不是曲面法线,但我真的不知道如何传递曲面法线。这是我的名片
以下是我的着色器:-
[顶点着色器]
attribute vec3 a_position;
attribute vec3 a_normal;
attribute vec2 a_texCoord0;
uniform mat4 u_worldTrans;
uniform m
我使用KryoNet和LibGdx来实现一些网络逻辑
它在运行桌面客户端时运行良好,在一些Android设备上测试时也可以运行,但在其他一些设备上则不起作用。它在Android仿真器上也不起作用
客户端侦听器中的received方法不起作用。侦听器中的每一个其他方法都会被调用(连接,断开),因此我确定连接已打开,但未被接收(连接c,对象o)
不过,当客户端向服务器发送消息时,它的工作方式正好相反
请帮忙,如果有一些特定的代码可以帮上忙,告诉我,我很乐意发布
编辑:我是用UDP发送的,但我把它改成
我有一个这样的播放按钮
private void drawPlayButton() {
playButton = new ImageButton(new TextureRegionDrawable(playTexture), new TextureRegionDrawable(pressTexture));
stage.addActor(playButton);
playButton.setPosition(UIConstants.PLA
我正在做一个自上而下的游戏-目前地形是一个tilemap,它是基于一个高度贴图数组生成的,该数组包含从0到255的高度值。我想更改此选项,而是渲染地形网格。我理解网格工作原理背后的基本思想,但我不知道如何将高度矩阵转换为网格。任何关于如何创建和渲染地形网格的帮助都将不胜感激。谢谢 看看:
创建Box2D sidescroller游戏时,在每个对象上滚动并移动它(例如通过x轴)是否有利于性能,如在以下代码快照中所做的那样:
for(Body b: bodies) {
b.setTransform(-1, b.getPosition().y, b.getAngle());
}
我还想知道渲染,如果我渲染每个物体上的每个纹理,我会一次渲染整个级别,这将花费我很多宝贵的FPS。与评论说这是一个好方法相比,我不这么认为
移动世界中的每一个实体不是直觉。在现实生活中,当你在森林中奔
我的视差背景图像有一些问题。我在下面嵌入了一个显示问题的GIF:(1)纹理边缘有一条黑色闪烁线,(2)移动不平滑(这不是因为GIF的帧速率太小)。我还为我的ScrollableImage类添加了短代码,这是我实现视差的核心。我怀疑这个问题可能是由于setScrolOffset方法中的模运算造成的,但事实并非如此,现在我已经没有主意了。我应该如何解决这个问题
public class ScrollableImage extends Widget {
private TextureRegio
标签: Libgdx
actiondelaywaitactor
我的问题是我想让一个演员做一个动作(在本例中是淡出),然后在动作结束后,切换到游戏屏幕。但动作还没有完成,却很快改变了游戏画面
我想在更改屏幕之前等待完成此操作。。总的来说,我想知道如何在游戏中制定等待指令,因为有时在任何事情发生之前留出一些时间是好的
myActor.addAction(Actions.fadeIn(2));
setScreen(AnotherScreen);
您需要做的是创建一个Action子类,并覆盖Action\act调用setScreen(另一个屏幕)
然后,使用Ac
我想把演员的zIndex设定为y
但结果是:
9979999
9980999
9982999
9983999
9983999
9985999
9986999
9986999
9986999
……哦,我明白了
Actor的zIndex的最大值为999 zIndex的最大值是它及其同级的计数减去1。
public class Character extends Actor {
@Override
public void draw(Batch batch, float parent
我有这个密码
textureAtlas = TextureAtlas("atlas.atlas")
val box = textureAtlas.findRegion("box")
我想用“盒子”创建一个纹理。可能吗?返回原始纹理,而不是区域化纹理。哦,我不想用雪碧和雪碧棒。我需要3D的,不是2D的
谢谢您可以这样做:
Texture boxTexture = new TextureRegion(textureAtlas.findRegion("box")).getTexture();
纹
我尝试将自己的参与者添加到组中的表中:
以下是在不使用组的情况下工作:
创建表
将myActor添加到表中
将表定位到300300
向阶段添加表
我可以看到桌子,我可以在屏幕上看到我自己的演员。
在绘图->250时检查我的参与者的getX()(我的表的值为100)
太好了
现在的问题是:
创建组
创建表
将myActor添加到表中
将表添加到组
将组添加到舞台
职位分组至300300
我看不见我的演员
绘制->-23时检查我的演员的getX()
这里怎么了?有什么区别。如何将位置传播到c
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 34 页