我正在使用粒子效果我的游戏使用libgdx。但效果只是在很短的时间内显现出来,然后就消失了。但我想在很长的时间内或者在我的控制下展现我的效果。
我的代码在下面的“游戏屏幕”课程中给出
ParticleEffectPool waterEffectPool;
Array<PooledEffect> effects = new Array<PooledEffect>();
ParticleEffect waterEffect;
...
...
waterEffect = new
我在libgdx工作,我有三个容器c1、c2、c3。c1在c2之上,c2在c3之上。
我的代码是这样的
maincontiner.add(c1)
主容器添加(c2)
maincontiner.add(c3)
现在我需要在c2和c3之间添加一些空间。所以我要做的是,我在添加c3的同时添加焊盘;前
主控面板。添加(c3)。焊盘(10)
但是这样做会影响c1,c2的位置。为什么呢?当我填充到c3时,上述两个容器是否也应移动?有什么方法可以避免它们移动吗?您应该在每个添加后调用行()方法,将容器一个放置
有没有一种方法可以使用scene2d.ui创建像Morrowind's items list这样的小部件?也就是说,一个容器,您可以在其中放置固定大小的元素,它们将堆叠在一行(或一列)中,直到它们按宽度/高度填充父容器,然后它们将堆叠在下一行/列中
在图片中你可以看到滚动,但我仍然接受不允许滚动的答案。另外,我知道CSS中的内联块元素不会垂直堆叠(就像在Morrowind中一样),这是我能想到的最接近的类比。我制作了一组HorizontalFlowGroup和VerticalFlowGroup
我已经在覆盖mouseMoved的表上设置了InputListener。我希望当鼠标在屏幕上的任何位置移动时接收输入,但现在它只在鼠标移动到表中的任何小部件上时接收输入(请参见屏幕截图中的红色框)
font=新位图字体();
样式=新标签。标签样式(字体,颜色。白色);
xLabel=新标签(“x:”,样式);
yLabel=新标签(“y:”,样式);
xNum=新标签(“0”,样式);
yNum=新标签(“0”,样式);
此.setFillParent(true);
System.out.pr
有没有办法将TTF转换成PNG文件?或者使用任何其他方法在LIBGDX框架中使用TTF文件创建Sprite?有任何应用程序可供使用吗?ttf是一种真正的字体。它不是一张图片,而是一个矢量字符集。你不能简单地用工具把它转换成图片
如果要查看/操作ttf文件,可以使用ttf编辑工具,例如fontforge()。ttf是一种真正的字体。它不是一张图片,而是一个矢量字符集。你不能简单地用工具把它转换成图片
如果要查看/操作ttf文件,可以在运行之前使用ttf编辑工具,例如fontforge()。
Lib
我刚开始玩一个非常简单的游戏,我不想为每一个身体创建精灵图像,我只需要给它们涂上不同的颜色
根据这条线索,ShaperEnder似乎不是一个很好的主意,它更适合开发:
此外,色调只能用于需要图像的纹理:
这是我试图给身体涂上颜色的一个:
//Dynamic Body
bodyDef = new BodyDef();
//bodyDef.gravityScale
bodyDef.type = BodyType.DynamicBody;
为了使用精灵渲染清晰的图形,我决定为每个分辨率大小提供一个专用的精灵文件夹。我有55个这样的文件夹,每个文件夹包含57个png文件(也就是说总数是57*55=3135个文件)。我将所有55个文件夹放在一个文件夹中,并在该文件夹上运行Texture Packer。在输出文件夹中,我得到1个pack.atlas文件和212个packX.png文件(X从1到212运行)
在我的代码中,我在资产类中创建这些字段
private static TextureAtlas atlas;
private sta
标签: Libgdx
scene2dbitmap-fonts
如果我有一个带有.atlas的UI和一个带有.atlas的BitmapFont,有没有一种简单的方法将它们组合成一个,或者我必须自己将它们合并到一个图像文件中,并手动将组合的.atlas中的所有元素偏移到正确的位置?手动操作是可行的,但有点繁琐,如果有轻微的计算错误,可能必须重新执行每个位置和/或大小。是的,您可以!只需让TexturePacker为您完成打包工作:
将BitmapFont的.png文件放在TexturePacker读取要打包的图像的同一文件夹中。所有其他图像所在的文件夹
将Bi
几周前,我实现了这个方法
它在libgdx1.3.1上运行得非常好。现在虽然我升级到了1.6.0,但它已经停止工作了。
当执行该方法时,它将冻结。我在一个按钮上实现了它,它被卡在了“向下点击”中,什么也没有发生
private void saveScreenshot() {
try{
FileHandle fh;
do{
fh = new FileHandle(files.getLocalStoragePath() + "scree
有人能帮我弄清楚这几行代码到底在说什么吗
if (!(x == snakeX && y == snakeY)) batch.draw(texture, x, y);
及
以下是你对这些台词的看法
if (!(x == snakeX && y == snakeY)) batch.draw(texture, x, y);
如果某些坐标*(x,y)不等于蛇坐标
(蛇在屏幕中的位置)然后将绘制纹理
屏幕位于屏幕的(x,y)位置
绘制每一个类的蛇身体的所有部分
命名
您好,我想知道如何使用android设备或桌面上保存的字体
以及如何获取平台使用的默认字体
我对文件模块有一些基本的了解,但从未尝试从设备本身访问数据。2秒在谷歌和。。这不是我要找的。是的,读一下。操作系统也没有默认字体。
如何拖动纹理(图像),而不使其跳跃并将其自身居中于鼠标光标上(我的代码中有以下内容)
当我点击纹理时,什么也不会发生,当我拖动时,鼠标光标应该保持在原位(相对于纹理的边缘)
例如:
你为什么要用照相机。取消投影
试试这个:
Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.setProjecti
我目前正在游戏中使用Libgdx动画类(com.badlogic.gdx.graphics.g2d.Animation)。然而,我需要动画在某些事件上增长。如何完成此操作?动画用于根据经过的时间选择正确的帧(纹理区域)。这与渲染该帧的方式无关。因此,它与渲染其他内容的方式没有什么不同
你没有提供足够的信息。但通常情况下,您会将其渲染为如下所示:
TextureRegion textureRegion = animation.getKeyFrame(time += delta);
spriteba
在游戏菜单中,我放置了标题的一部分,我想让它从左向右移动
我是这样做的:
private final MutableFloat text1 = new MutableFloat(0);
所有这些都应该在菜单屏幕刚刚启动时发生一次
private final TweenManager tweenManager = new TweenManager();
类内构造函数:
Tween.to(text1 , 3, 0.5f).target(Constants.WORLD_HEIGHT-300
我有一个Java类,它是一个存储布尔变量的单例:
public boolean paused;
public static DataVariables getInstance() {
return ourInstance;
}
因此,基本上我在游戏暂停时使用它,并将其设置为true或false。我使用它(调用pause变量):
一切正常,当我使用变量时游戏停止,但我注意到在最小化窗口后,值突然变为false,游戏的行为就好像它没有停止一样。有人能告诉我这是为什么吗?我在哪里实现了Sc
是否可以在运行时更改粒子效果的图像
ParticleEffect particleEffect = new ParticleEffect();
particleEffect.load(Gdx.files.internal("particle.p"), atlas);
对
找到particleMitter并在其上设置一个新的Sprite:
Sprite someNewSprite = new Sprite( some_texture );
ParticleEmitter em
我是libGDX游戏开发框架的新手
有人能解释一下“桌面”应用程序的用途吗?是否有必要为我的android应用程序创建一个“桌面”应用程序?是因为启动我的主应用程序的类在我的桌面应用程序中吗
很抱歉问了这么蹩脚的问题。请帮助我澄清我对这些事情的基本理解
提前谢谢 该库的设计目的是让您以一种不依赖于平台的方式创建所有游戏逻辑。这样你的游戏就可以在Windows/Linux/MacOS/Android上运行
因此,您可以在桌面上进行测试时运行游戏,省去了打包APK并将其部署到Android仿真器或设
我正在尝试调整scene2d.ui窗口(基本上是一个可以移动的表)及其内容的大小。到目前为止,我只能成功地更改窗口大小本身,但不能更改其内容。我是这样做的:
window.setWidth(newTableWidth);
textField.setWidth(newFieldWidth);
window.invalidate(); <--- New size of window is drawn properly when invalidate() is called
textField.
我正在使用java、libgdx和box2d
在主类中,我创建了一个玩家。我想在玩家类中将shape.setAsBox更改为100。换句话说,我想在创建shape.setAsBox之后更改它。我相信唯一的方法是删除夹具并重新创建一个尺寸为100的新夹具。我怎样才能做到这一点
public class main{
...
public main(){
//create player
BodyDef bdef = new BodyDef();
Body body;
我有一堆桌子。我正在尝试fadeIn、fadeOut、moveTo,其中的几个演员,但addAction方法不起作用:
stack_stage = new Stack();
table_menu = new Table();
level_selector = new ex01MenuLevelSelectorBase(skin, table_menu);
table_menu.add(level_selector).center();
我的问题是是否应该放置srender.begin(ShapeType.Filled)和srender.end()形状的外部?因此,它们不是为每个Shape.draw()调用的
或者,就性能而言,以下方法是否可行
来自我的形状之一的代码片段
private Body body; // initialized elsewhere
private float width = 1.0f;
private float height = 1.0f;
public void draw(ShapeRender
我正在使用LibGdx创建一个具有等距透视图的游戏。
我的代码基于以下示例:
我需要在屏幕中央放置一块瓷砖。我试过使用camera.lookAt()但不起作用
公共布尔点击(浮点屏幕X、浮点屏幕Y、整数计数、整数按钮){
触摸设置(screenX,screenY,0);
凸轮未投影(触摸);
触觉。mul(隐形转换);
pickedTileX=(int)touch.x;
pickedTileY=(int)touch.y;
凸轮注视(pickedTileX,pickedTileY,0);
有什么
标签: Libgdx
box2dparticle-systemparticles
很抱歉提出这样一个一般性的问题,但我只是想问一下,是否有一种有效的方法可以在libgdx中使用Box2d物理引擎来集成粒子效果。基本上,我想将两个物体之间的血液飞溅效果与基于真实物理的粒子相结合。我找不到任何好的教程这样做,并希望得到建议
我想将其集成到libgdx中。Liquidfun看起来不错,但我听说它在可移植性方面存在问题,并且不能很好地与桌面应用程序配合使用。据我所知,libgdx中的粒子效果并不遵循与粒子相关的物理,因此我也不认为应该这样做。Liquidfun是box2D的扩展,它具
我有大约25个关卡在我的游戏中,每一个都会在前一个关卡完成后自动加载。
当我点击play按钮开始游戏时,游戏屏幕上会出现来自JSON的障碍物。但当游戏刚开始玩的时候,会有一种冲动
这是我的类,我在其中对以下级别执行JSON解析:
public class ObstacleFactory {
public static Array<Obstacle> obstacles1 = new Array<Obstacle>();
public static Arr
据facebook称:-
“将以下内容添加到build.gradle(模块:app)文件的dependencies{}部分,以编译Facebook SDK的最新版本:
implementation'com.facebook.android:facebook安卓sdk:[4,5]“
我在android studio项目中没有看到任何名为app的模块。在上面的行中添加到哪里?module:app在本例中仅表示主android应用程序。因此,您应该将依赖项添加到android模块中
然后我打赌你的下一
我正在Libgdx中处理随机生成的基于平铺的贴图。我为草地瓷砖创建了一个32x32大小的纹理,我只想将其拆分为4个16x16瓷砖,并在创建时随机拾取,以使瓷砖看起来不那么可预测。除了草的纹理,一切都很好。图中有垂直和水平的绿线。瓷砖尺寸为16x16,纹理区域也为16x16。你知道这是什么吗
我认为我们需要查看与您如何渲染瓷砖以及您正在使用的地图集或图像相关的代码,以便能够帮助您最有可能的是您计算的坐标不准确。你正在用深绿色清除屏幕吗?顺便说一句,是否真的需要以编程方式创建这些平铺。它们占用的空间
我正在制作连接点类型的游戏,我必须画一条线到我在屏幕上触摸的位置,所以我使用vector来存储我触摸的各个点
我曾经
if(Gdx.input.isTouched())
{
touchpos.set(Gdx.input.getX(), Gdx.input.getY());
System.out.println("touch at "+touchpos.x+" "+touchpos.y);
if(circle1.contains(touchpos)) {
我在LibGDX中使用形状渲染器绘制一条线,在代码中使用正交摄影机,以便增加使用的宽度
camera = new OrthographicCamera();
int lineWidth = 8; // pixels
Gdx.gl10.glLineWidth(lineWidth / camera.zoom);
现在,我有了一条更宽的线。但当屏幕电源关闭然后打开时,问题就出现了,线路又变为正常线路。如何保持宽度恒定?如您所见:
这里:
这里:
在ShaperEnder中使用线宽并不是实现目标
我想交换libGDX表中两个标签的位置。我想我可以用swapActors来做这件事,但它不起作用
private Stage stage;
private Table table;
public MainScreen() {
stage = new Stage(new FitViewport(800, 480));
table = new Table(SkinManagerImpl.getDefaultSkin());
table.add("A").center();
我最近下载了libgdx的1.1.0版本,大约54MB
当我运行gdx-setup.jar时,它再次从gradle下载
当我的互联网断开时,如果出现故障,为什么
如何使用下载的文件?每次创建项目时我都需要下载吗?您的gdx安装jar被编程为在每次创建项目时下载libgdx,并且不会在您的计算机上搜索libgdx,我不相信有一种简单的方法可以通过它。使用gradle插件设置项目后,可以将其导入IDE。这里有一些链接可以帮助您安装gradle插件
我希望这个答案是有帮助的:这意味着每次我创建项目时它
我想做一个2D的汽车侧滚游戏。我用车轮接头来移动汽车
这是汽车不移动时的屏幕截图
当汽车行驶时。您可以看到精灵的位置不正确
这是car对象的构造函数
BodyDef bodyDef = new BodyDef();
bodyDef.type = BodyType.DynamicBody;
bodyDef.position.set(x, y);
//Chassis
PolygonShape chassisShape = new PolygonShape
我正在尝试使用ActorGestureListener在LibGdx中实现演员的手势。下面的代码绘制了参与者,但没有调用pan方法。我错过什么了吗
我使用的是libgdx1.3.1
public class MyApp extends ApplicationAdapter {
private Stage stage;
@Override
public void create() {
stage = new Stag
是否有一种内置方法可以使libgdx贴图渲染器在边缘重复贴图
例如,在非常远的边缘,重新开始绘制最左边的部分,依此类推
提前谢谢
我有一个名为UI的文件夹,其中包含一个button.pack和一个button.png(我用GDX纹理打包器创建了这个)。这是.pack的代码行
atlas = new TextureAtlas(Gdx.files.internal("ui/button.pack"));
skin = new Skin(atlas);
但当我运行应用程序时,它会给我以下错误:
Exception in thread "LWJGL Application" java.lang.IllegalAr
我试图根据LibGDX的书中的代码编写一些代码。向流中添加一些屏幕转换在gles1中起作用,因为LibGDX不推荐GL10,所以我尝试将其重构为GL20
我对大多数已弃用的函数或以不同方式调用的函数做了一些更改。但我的最终结果并不可行,因为它使我的屏幕闪烁
由于这个问题,我现在正专注于桌面版
SplashScreen01.java
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.bad
我试图在点击按钮后缩放一个ImageButton,但它似乎没有任何效果。我还尝试将ImageButton添加到表中,然后缩放表,但它也不起作用。但像fadeIn、fadeOut和moveTo这样的操作仍然有效
btnPlay.addListener( new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
我有一个淡出/淡出动作的图像。大概是这样的:
public void fadeInAndOut() {
AlphaAction actionFadeOut = new AlphaAction();
actionFadeOut.setAlpha(0f);
actionFadeOut.setDuration(2f);
AlphaAction actionFadeIn = new AlphaAction();
actionFadeIn.setAlpha(1f);
我刚开始使用Libgdx,我发现很难组织代码。
有人能告诉我,我应该先写什么,然后再写什么。我在网上读过教程,但我发现它们令人困惑这里有一些快速入门的教程:
关于使用Eclipse、LibGDX和Box2D在Java中创建简单游戏的YouTube播放列表:
一本非常有用的Libgdx食谱:
希望对你有所帮助。这个掷桶游戏的例子是一个很好的开始。但也可以查看本教程:
我启动了一个项目,希望帮助人们开始使用libGDX。一种你可以放实验的游乐场。托管在github上:。在阅读建议的教程时,
标签: Libgdx
spritecollisiondetection
我刚刚开始尝试使用java和libgdx制作自己的游戏,到目前为止,我的成功程度一直是在屏幕上显示背景图像,并通过WASD生成一个小正方形的用户控件。背景只是一种纯色,里面有一个红色的垂直矩形,有黑色的边。我想让小正方形(玩家)可以在红色矩形内的任何地方移动,但不能越过黑色边缘(矩形外)。我该怎么做呢
因为我是一个完全的初学者,我必须问这些相关的问题
玩家应该只是一个纹理吗?背景应该是纹理吗?还是雪碧
我还不确定两者之间的区别。我建议您阅读关于libGDX和Box2D的教程,如下所示:
简而言之
所以现在我想做一个游戏,让你保持正确的跑动,并且必须跳过障碍物。我已经这样做了,地面是由两个大街区组成的,当你在第二个街区的第四个路口时,第一个街区会移动到第二个街区的前面。这是我的代码
public void updateGround(){
if(player.getPosition().x >= blocks[1].getGeneratePoint()){
//swap the blocks in the array
Block temp
如何在libgdx iOS项目中实现排行榜和成就等游戏服务。实际上,我正在使用android studio进行编码
我有一个关于libgdx皮肤行为的问题。
我正在开发的游戏有一个全局资产管理器(来自libgdx套件),每个类都可以访问它。
我在这个资源管理器中加载了不同的TextureAtlas
我知道assetManager.dispose()处理资产管理器中加载的所有资源
现在,我还希望在assets manager中加载一个皮肤(用于GUI)。
皮肤将使用几种纹理玻璃
这里有一个问题:既然我要使用skin.addRegion(),而且关于skin类的在线API参考说“当皮肤被处理时,atlas不会被自
标题说明了一切,我想知道演员在桌子里的位置
按钮=新按钮(bs)
表。添加(按钮)。宽度(50)。高度(50)
table.top().center()
提前谢谢
编辑:使用button.localToStageCoordinates(新矢量2(button.getX(),button.getY())
我得到了一个接近的位置,但不精确,这是一个屏幕截图,红色的方块是我得到的位置,而透明的方块是按钮
试试:
button.localToStageCoordinates(new Vector2(bu
我刚加入libgdx,一直在寻找更好的解决方案。当棍子手传球时,他必须接住球,但我真的不知道如何在每次棍子手传球时检测
另外,球可以被用户拖拽和扔下,以避免棍子手。在没有看到任何代码和您给出的非常模糊的描述的情况下,我将尝试回答
在你的球和斯蒂克曼身上,你用球和斯蒂克曼的大小及其坐标做一个矩形
Rectangle bound = new Rectangle(x,y,width,height);
移动周围的对象时,也会移动矩形
然后检查它们是否重叠:
if(stickman.bound.over
我想创建一个简单的30x30等距平铺贴图,并添加一个侦听器,以便能够单击平铺。我在这里查阅了很多文章和帖子,但没有一篇对我有帮助。
我的问题是,我有一个视口,30x17,一个相机,一个舞台和一个平铺贴图,平铺宽度=32,平铺高度=16像素。
现在,当我渲染平铺贴图时,它看起来很好。
当我点击舞台并尝试获取世界坐标时,我看到一些非常奇怪的坐标。
代码如下:
private static final float TILE_WIDTH = 32;
private static final float
我想在我的libGDX游戏中创建一个覆盖层,以便在登录时使用。基本上,我想在整个屏幕上覆盖一个40%的alpha矩形(这很容易),但我想在感兴趣的区域顶部剪一个圆圈,用户应该集中注意力。有没有一种方法可以创建两种形状或像素贴图不同的纹理
Pixmap overlay = new Pixmap(screenWidth, screenHeight, Pixmap.Format.RGBA8888);
overlay.setColor(0, 0, 0, 0.4f);
overlay.fillRectan
标签: Libgdx
type-conversionspeech-to-text
如何在LibGDX中将文本转换为语音?我在想,也许可以在libgdx游戏android文件夹中创建一个函数,然后从公共libgdx游戏文件夹中运行这个函数 您不能在LibGDX内部以本机方式执行此操作。不过,我相信Java本身也有专门的文本库。请看
然而,我不确定这在Android上是否有效
希望这有帮助!祝你好运
我需要将矩形纹理扭曲为极坐标纹理。为了阐明我的问题,我将举例说明:
我有这样的形象:
我必须使用着色器将其变形为如下所示:
然后我要把它映射到一架飞机上。
我该怎么做?任何帮助都将不胜感激 这并不特别难。您只需将纹理坐标转换为极坐标,并使用纹理的s方向的半径,以及t方向的方位角
假设您希望以这种方式对四边形进行纹理处理,同时假设您使用标准纹理坐标,因此左下角顶点将具有(0,0),右上角顶点(1,1)作为纹理坐标
因此,在片段着色器中,您只需要将插值的texcoords(为此使用tc)转换为极
我有一个核心和一个桌面项目,我还需要一个android项目。如果Gradle为我做了所有事情,那么我就不必手动编辑Gradle文件了。请按照以下步骤操作:
进入你的libgdx设置
检查桌面、Android和任何你想包括的东西
生成项目后,将其导入到您使用的任何编辑器中
将“核心”代码复制到新的“核心”项目中
将“桌面”代码插入新的“桌面”项目
享受拥有一个新的Android项目:)
清理了英语,删除了不必要的评论。所以你清理了?但是我的项目已经在中间阶段了,现在我想添加GDX工具。但是在文档
我有一个旋转的圆和一个精灵我想将精灵附加到与旋转的圆碰撞的点执行此任务的数学公式是什么您可以尝试将精灵的原点设置为碰撞坐标。然后旋转它。我认为你的问题更适合于:例如,如果你有碰撞坐标(x,y),那么你应该使用mySprite.setOrigin(x,y)方法将精灵的原点设置为(x,y)。
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 33 页