我正在使用libGDX 0.9.9中的正交平铺贴图渲染器以tmx格式渲染平铺贴图
maprend = new OrthogonalTiledMapRenderer(board.getTiledMap(), sprtbatch);
此渲染器仅渲染左下角的一个平铺
render() { //(shortened)
sprtbatch.setProjectionMatrix(camera.combined);
maprend.render(); }
使用具有相同构造函数的等轴测贴图渲染器渲染整个
我在libgdx中使用缩放字体时遇到问题。我想使用1文件.fnt到3个不同的字体比例。但是结果字体仍然有相同的比例,无论我用1比1缩放它们
这是我的代码,我正在使用AssetManager
// this is I load the assetsFont
// Settings.fileSilverBoldFont is font location.
// load font
manager.load(Settings.fileSilverBoldFont, BitmapFont.class)
我在尝试使用TrueType字体的扩展时遇到问题。我已经完成了每个人都能在官方文件中找到的步骤。我已经按照中的说明复制并链接了罐子。当我尝试使用它时,有一些问题
好像错过了什么方法什么的。以下是错误:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoSuchMethodError: com.badlogic.gdx.graphics.glutil
我有一节课
public class Enemy {
...
public static void die(){
//send order to die or stop
//System.out.println("enemy dying");
}
}
然后用for循环创建许多敌人
for(int i = 0; i< 5 ; i++){
enemy = new Enemy();
}
for(int i=0;i
有时libgdx会检测到两个碰撞,而实际上应该有一个碰撞。我通过打印联系人侦听器方法中的消息找到了答案。当你看屏幕时,弹跳甚至不明显,但联系人侦听器会检测到它。我试图将Fixture对象的恢复字段设置为0,但没有帮助
有什么办法可以预防吗?不幸的是,没有
您可以尝试添加另一个比现有夹具稍大的夹具,并使其成为传感器夹具。您可以在contact listener中使用它,而不是实心夹具。将夹具设置为传感器解决了我的问题。谢谢我希望我能胜过你,但我没有足够的声誉:/
我想用libgdx做一个有趣的广告
Logcat
09-07 14:30:22.626 1281-1299/com.fainosag.stickygrandpa.android W/GooglePlayServicesUtil﹕ Google Play services is missing.
09-07 14:30:22.636 1281-1299/com.fainosag.stickygrandpa.android E/GooglePlayServicesUtil﹕ Go
问题是,在540x960分辨率(我的手机)上,广告效果很好,但在其他分辨率上却不好。这是一个错误:“没有足够的空间显示广告”。我想可能是布局有问题,但我不知道是什么
我的主要活动:
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
//initialize(new J
我正在做一个游戏。我在这里构建了我的玩家:(我在我的世界上使用重力)
private ArrayMap构造函数=新的ArrayMap(String.class,GameObject.Constructor.class);
私有ArrayList实例=新建ArrayList();
assets.load(“hand.obj”,Model.class);
...
model=assets.get(“hand.obj”,model.class);
构造器.put(“手”,新游戏对象.Construct
标签: Libgdx
robovmmobile-app-tracker
我正在尝试在我的项目中使用MAT绑定,但是,以下项目中似乎没有包含.jar文件:
我还尝试通过从下载存储库将其添加到我的项目中,并将该项目添加到我的Robovm构建路径中,但效果不佳
你知道怎么解决这个问题吗
谢谢,
ASM我将一个绑定项目制作成一个jar文件,并执行以下操作。我确信有一种更简单的方法可以将框架放在正确的文件夹中,但我还没有找到它
在eclipse中加载绑定项目
将源文件夹(您应该获得org/robovm/bindings/mobileapptracking/)导出到.jar文件
我在游戏中使用图形插值实现固定时间步长时遇到一些问题
以下是渲染方法的一部分:
@Override
public void render(float delta)
{
double newTime = TimeUtils.millis() / 1000.0;
double frameTime = Math.min(newTime - currentTime, 0.25);
accumulator += frameTime;
currentTime = newTi
我最近第一次开始使用Libgdx,我正在尝试制作一个类似于Zelda/Pokemon的2D游戏
我遇到的问题是,我不知道如何使精灵与背景混合(一个平铺的map.tmx文件)。我尝试使用enableBlending(),但它不起作用。我希望删除精灵周围的空白,以便平铺贴图背景显示
谢谢您的情况下不需要混合。
只需使用.png(具有透明背景)文件,而不用.jpg(具有白色背景)
我正在开发一款具有平铺贴图的自上而下的2D游戏
目前,我想创建一个小地图,但我真的很困惑怎么做
我读到一些东西,我应该创建另一个相机,缩小并再次渲染地图,但是我应该如何在右上角绘制缩小的地图
我是不是想得太多了
我的地图:
public class LiquidMap {
private TiledMap map;
private OrthogonalTiledMapRenderer renderer;
private OrthographicCamer
我怎样才能让精灵眨眼一段时间
在我的游戏中,我有一个房子精灵。最初它是一个明亮的。一旦另一个精灵碰到这个房子,房子里的灯就会开始闪烁。就像不断地打开和关闭灯一样
我尝试了不同的方法,但我没能成功。
希望有人能分享他们的想法。您可以这样做:
long timeTracker = TimeUtils.millis();
long timeIntervalPerBlink = 50; // in ms
bool onOrOff = true; // if true light will on, els
标签: Libgdx
collision-detectioncollision
那么,如何实现圆弧的碰撞检测呢?我是否必须使用长方体2d碰撞,或者我可以用其他方式使用矩形或类似的东西
顺便说一句,我讨厌box2d,因为我不了解其中的大部分内容,所以如果有一个排除box2d的解决方案,我将非常感激
黄色弧线在黑色圆圈上继续旋转。在这里如何实现碰撞检测
请帮忙!谢谢 要避免使用Box2D,可以将形状定义为多边形,然后使用该方法或
以下是使用这两种方法的示例:
import com.badlogic.gdx.ApplicationAdapter;
import com.badl
不确定我是否走对了路
我有一个小纹理,我画了多次(1000)。但是我喜欢用不同的旋转(大约10次)来制作这种纹理。因此,我想旋转纹理并将其保存在列表(10)中,以便重用(性能)
当我的方法很好时,如何旋转原始纹理并将其存储到新纹理(在开始时存储在内存中)?您可以使用Sprite类包装纹理并提供许多有用的方法来使用它。例如:缩放、旋转
因此,您将有一个纹理实例和10个精灵
Texture texture = new Texture("path.png");
for (int i = 0; i &
我有一个关于LibGdx中材料的正确使用的问题。我想在游戏中为模型使用环境光遮挡纹理(在Blender中烘焙)。我应该使用材料吗?我不确定,因为这种纹理不会自动导出到FBX(我使用Blender),所以我需要在代码的后面将其添加到材质中,再加上每个对象(实际上是一个节点)都需要一个单独的材质实例。有几十种材料可以吗
请告知最佳工作流程是什么?我希望避免误用Gdx框架
Thx我在很多地方都看到了在你真正需要优化之前不要担心优化的技巧,我会先尝试让一些东西工作,然后如果它产生性能问题,考虑改进代码你
假设我有两个容器c1,c2,其中c1高于c2。现在我想把c2向下推30,这样我就可以了
c2.焊盘(30)
但是,这会影响c1的方向。
在libgdx中是否有任何方法可以填充一个容器而不影响上面容器的填充?只有在对齐方式为中心时,填充才会影响小部件的放置。如果对齐不是你的问题。您可能想尝试使用.space()而不是.pad()如何更改容器的位置?也许用保证金代替?在c1处使用底部衬垫。应该有不同的解决方案。想一想哪一个适合你的szenario。上面容器的填充物不变!它的大小仍然相同,与另一个容器
标签: Libgdx
spritebounding-boxdistortion
我有一张spritesheet(用精美的TexturePacker包装),看起来是这样的:
而动画作为一种动画使用起来效果很好。
但是,当动画移动到边界框较小的帧时(例如,当腿部较近时,当人物跪下时等),图像会扭曲,从而使较小的边界框填充精灵的边界框
我怎样才能解决这个问题
上面的精灵表是从Adobe flash动画示例中提取的帧。更简单的方法:
您可以使所有纹理区域的大小相同
艰难的道路:
保持这样,但您需要保存并计算要绘制的每个纹理区域的大小和位置
我个人向您推荐第一种选择,只需使所有图像
标签: Libgdx
renderingsplash-screen
我有两个类别,一个是主要方法,另一个是飞溅。然而,在这两者之间切换并不起作用。我想在Splash类中绘制一个图像,但它立即变黑。当我将代码从splash移动到main类时,图像出现了
主要类别:
public class Main extends Game {
public static int WIDTH, HEIGHT;
public void create () {
WIDTH = Gdx.graphics.getWidth();
HEIGHT = Gdx.graphic
我目前正在使用artemis和libgdx开发一个基于实体系统的游戏,我想知道在这种配置中我应该如何处理级别变化
例如,使用Mario-like platformer:
首先Mario启动级别,引擎实例化一个新世界,加载tilemap并初始化所有对象
如果马里奥通过管道怎么办?管道内的世界是一个新世界?还是相机只聚焦于世界的另一部分
如果我们有一个新的世界,阿耳特弥斯不允许从世界中分离实体,那么我可以克隆玩家实体并将其添加到新世界吗
有人知道如何处理这种改变马里奥/阿贝《奥德赛》银幕的关卡吗?使
我在libgdx的一个舞台上使用了一个TextArea。在linux上工作得很好,但在Windows7上,当我写入或复制长文本并粘贴到文本区域时,有一个区域不显示文本。文本在那里,但在特定区域中不显示它。我使用的是对默认皮肤的修改,我将其改为线性,而不是最近的,最近的,我也使用freefonttype线性,线性。这里有一幅关于它在linux上的外观以及在windows上的外观的图片
textEntry = new TextArea("enter text here.", AssetLoa
因此,基本上每次我射击时,一个新的动态身体都会随着线性脉冲而产生,在不断射击之后,我的子弹游戏开始变慢(这很明显,因为我不断地创造一个新的物体…)。我应该怎么做来避免这个问题,我尝试删除对象、实体
提前感谢您的回答 我对Java还是个新手,但我对它的理解是,如果有任何东西引用了某个对象,那么回收者就不会提取该对象。三次检查所有数组和列表,确保其中一个没有填满子弹。播放时显示阵列的大小,以查看其中一个阵列的行为是否怪异
对于每个项目符号,您可能希望查看它是否在屏幕外。如果是这样,请将其从列表/数组
我正在使用Scene2D,我有一个球。这个球是一个演员,当球击中矩形时,它会做一个动作,当动作完成时,球会继续在屏幕周围移动
但我希望当球再次击中长方形时,它会再次做动作,但我不知道如何做
代码:`private void muerte{
if(choque){
System.out.println("choque");
velocidadbolax=0;
velocidadbolay=0;
//bola.addActi
作为一个非常新的着色器,当我成功地使DistanceFieldFont着色器工作时,我很高兴。
当放大时,它似乎能使文本看起来更清晰
…但放大后看起来很可怕:
左侧的文本是用于比较的普通LibGDX标签
制作材料的代码是;
纹理=生成纹理内容//函数从提供的字母生成文本纹理
texture.setFilterTextureFilter.MipMapLinearLinear,TextureFilter.Linear//这不是为了确保顺利的移动吗?
Material mat=new Materia
我在MainClass的create()中实现了两个屏幕,MainScreen和OverScreen。在主屏幕上,我实现了游戏,在游戏结束时,我想显示屏幕,在屏幕上,用户点击它,它会把主屏幕带回来。如何切换2屏幕?您可以在构造函数中将GameClass对象传递到当前屏幕,然后在InputProcessor的触地()方法中调用GameClass.setScreen()
假设GameClass是扩展游戏的类的名称。然后主屏幕的构造器将如下所示:
GameClass game;
public clas
请允许我了解场景2D演员的坐标系:
本地ToDescendatCoordinates
LocalToAscendant坐标
localToParentCoordinates
localToStageCoordinates
亲子坐标
屏幕到本地坐标
StageToLocal坐标
注:使用示例和屏幕截图进行解释毫无疑问,但您可以在此处找到文档:
这些方法是不同坐标系之间的转换。我看不出有什么问题。您正在查找可在中找到的信息。
是否可以向轮廓添加光晕?我知道我可以通过添加一个额外的“发光”版本的图像并在需要时切换到它来实现这一点,但由于我的游戏中有许多不同的形状,我更喜欢以编程方式进行发光。我如何才能做到这一点?唯一的方法是在绘制此特定图像时使用您自己的像素着色器
你可以在网上找到很多光晕效果着色器,也有一些教程教你如何使用它们。您可以查看有关此主题的LibGDX官方文章
但是,我不建议您采用这种方式,因为使用不同的着色器绘制单个图像会使渲染周期代码更复杂,也更不理想。因此,要么你会在这个问题上妥协,要么只是找到更简单
点1,假设它是(0,0),我有另一个点,它应该在10f的距离上旋转。然后我将添加角度使其旋转。我想知道如何计算这一转折点
我将使用光线投射,我需要旋转光线(顺时针)来检测碰撞你应该考虑使用类来检查你的演员的线条是否与身体的形状相交。< /P>
要计算“视线”线的终点,请使用向量2,即您将根据演员轮换进行轮换(这实际上是您问题的答案)
应该是这样的:
Vector2 sightVector = new Vector2(10f, 0); //the 10f is actually your
我正在使用滚动窗格在libgdx中创建一个级别表。在特定的滚动窗格上有不同的表,具有特定的级别。有没有办法将一个特定的表格预设为我看到的第一个表格,因为如果我有超过50个关卡,并且我必须滚动所有关卡才能在最后进入一个特定关卡,这将是愚蠢的
有关我的表格和滚动窗格的简要详细信息
我有一个名为column table的表的arraylist,用于在不同的列中存储不同级别的详细信息。然后将此列表添加到另一个称为levleTable的表中
级别表将添加到滚动窗格中,滚动窗格将添加到主表中
public
我在容器表中有ImageTextButtons。我想动态更改此表的宽度,并让ImageTextButtons以特定的方式响应。我想让他们做的是淡入标签文本取决于显示的文本百分比
我相信我正在动态地正确设置表格宽度和内容。根据LibGDX文档,我们不应该显式地设置小部件维度,而应该设置表(容器)单元维度。对于测试,我有一个简单的clickListener,上面有这样的按钮
button.addListener(new ClickListener(){
@Override
我正在用scene2D开发我在LibGdx中的第一个游戏。我如何渲染图形
检查不同形状实体的碰撞?目前我正在绘制矩形和圆形。但它看起来不适合我的要求。
渲染形状以检查碰撞的最佳方法是什么?如果使用scene2d,则不一定需要使用ShaperEnder渲染某些形状。scene2d为您提供了调试模式,例如,在参与者周围绘制集合边界框。这种情况发生在
当然,您可以重写此方法以添加其他形状(将在内部使用shaperender)。例如,如果您有一个演员代表一个球,您可能希望在演员的边界周围画一个圆圈,以便
我目前正在重组我的LibGDX项目,以适应使用Ashley的ECS结构。
目前,我有以下系统结构:
输入系统(处理播放器输入)
PhysicSystem(将速度应用于实体,执行碰撞检测并移动它们)
CameraSystem(将相机调整到相机焦点)
渲染系统(使用摄影机信息转换SpriteBatch并绘制所有实体)
现在我知道每个系统都应该包含它所需要的所有逻辑,并且被封装以减少复杂性。
但是我需要相机系统中的相机来调整它,我需要它在渲染系统中应用相机变换,我需要它在输入系统中查看鼠标指向的位
我有一个用Hiero构建的位图字体,我在scene2d标签中使用它
在单个标签实例中,我需要减少字体的线宽值,但我希望其他标签(使用相同字体)保持不变,因此它们应该保持字体的默认线宽
我试图简单地调整值,如下所示:
label.getStyle().font.getData().setLineHeight(localReducedValue);
//skin is the skin that you use
Label myLabel = new Label(text, new LabelS
标签: Libgdx
resizeviewportaspect-ratio
我有点困惑为什么我的FitViewport在调整窗口大小时没有保持纵横比。
我认为它应该始终保持纵横比,然后用黑条填充屏幕中未使用的区域
然而对我来说,它并没有保持纵横比,圆圈变成省略号f.e.(见截图)
创建我的游戏渲染器时的代码(32和18是我的世界单位)
调整窗口大小时编码
public void resize(int width, int height) {
Gdx.app.debug(TAG, "Resizing to " + width + " x " + height);
我在Libgdx中制作纹理打包器,如果我使用打包器2048*2048的大小,它只生成一个大小为3.14MB的打包器图像,如果使用打包器1024*1024的大小,它生成四个打包器图像,所有四个打包器图像的总大小为2.94MB。我更喜欢哪种尺寸的包装机?您更喜欢1024*1024
优点:
这种图像分辨率可以加载到像三星Galaxy Y这样的ldpi手机中
2048*2048将占用16 MB的图形内存
而1024*1024将占用4MB
所以我认为你可以选择1024*1024
另外,我想建议您,如果您使
标签: Libgdx
google-play-services
我正在用Libgdx和googleplay服务BaseGameUtils构建一个实时多层,我可以把玩家带到等候室开始游戏,但当我测试游戏时,屏幕上只显示一个玩家
我的问题是:
游戏室(GoogleAPI)负责在游戏室屏幕上绘制所有参与者,还是我必须在游戏屏幕上实现它
public void startGame(){
Log.d(TAG, "startGame()");
gameActivity.setScreen(new Play(gameActivity));
}
一旦最
正如您在下面的代码中所看到的,我使用设备目标的宽度和高度创建了一个相机。然后我用摄影机视口的大小创建stage,并在其中添加一个窗口(在任何设备中都可以正常工作)
但是,将文本按钮添加到窗口时,不会根据舞台大小重新调整大小
因此,如何重新调整文本按钮的大小,使其在任何设备上看起来都很好?
@Override
public void create() {
.
.
.
// Define camera our view
我试图使用scene2D为菜单UI显示一个简单的文本,但由于某些原因,这里没有显示任何内容。屏幕显示纯黑色
public class ScreenMenu implements Screen {
MyGame myGame;
SpriteBatch batch;
Stage stage;
Label labelNewGame, labelContinue, labelCredits;
public ScreenMenu(MyGame myGame) {
this.myGame = m
我想画一个矩形,但我无法按我想要的方式设置矩形的位置。我试着调整了许多价值观,但没有任何帮助。
这是我的密码
Body b2body;
Rectangle rectangle;
BodyDef bdef = new BodyDef();
bdef.type = BodyDef.BodyType.StaticBody;
b2body = screens.getWorld().createBody(bdef);
rectangle = new Rect
手动绘制文本时,需要开始新行。
但是\n不起作用。我做错了什么
gl=new GlyphLayout();
font=Assets.getFont(10);
gl.setText(font, text, Color.WHITE, cam.getDims().x-cam.getDims().x/10, Align.left, true);
font.draw(sb, gl, -(cam.getDims().x-cam.getDims().x/10)/2, -cam.getDims().y/6);
我想做的是创造绳子游戏。下面你可以找到一部电影,它现在是什么样子
我正在使用RopeJoint,我正在减少每帧的maxLength,以便能够加速。一切似乎都很好,但问题出现在泡泡球上。我意识到缩短绳子不会增加球的速度。例如,如果我将绳子完全垂直,唯一的“力”来自缩短绳子,则速度为0,0。好像,身体运动不是模拟的
我放开绳子后,动量就消失了。气泡可以飞,但绳索缩短的因素被忽略了
我不知道你是否明白我的意思。这部电影应该更清楚地说明这一点
我尝试过的变通方法:
好主意是使用棱柱点,但旋转是固定的
我是libgdx新手,我想用libgdx开发一个应用程序,并支持所有libgdx目标平台(Windows、Linux、Android、iOS…),我可以使用javase中的哪些类
我用javax.swing.JFrame进行了测试,在Android平台上抛出了ClassNotFoundException!那么,我如何确保所有libgdx目标平台都支持Java-SE中的哪些类呢?Java-SE主要用于桌面应用程序(Windows+Linux),在那里,您可以使用SE中的所有内容,如果Java的版本
最近刚开始使用libgdx,我想检查一下如何将键盘输入显示在文本字段上
谢谢。如果您正在寻找键盘,那么来自Kumar的链接就可以了,如果您试图显示文本,那么您需要使用输入处理器从键盘获取输入
然而,要从键盘获得输入,并且仍然有对屏幕上任何其他项目的输入,您需要将其与可以处理多个输入处理器的InputMultiplexer结合起来
例如,如果您有一个要处理输入的阶段,并且希望键盘每隔一段时间弹出一次以进行文本输入,则可以在Create()中的某个位置为键盘创建一个新的InputProcessor
我用libgdx做了一个简单的游戏。我想在其他线程而不是主线程中显示精灵。但如果我跑,就没有精灵了。在我的logcat中,我看到了精灵的实例,但图形没有显示出来。
我的代码:
@Override
public void render() {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
rbg.render();
camera.update();
圆圈是实心的,没有办法在里面创造出一个空的空间,是吗
使用基本形状链/边的组合可以创建圆环,但我想知道是否有更简单的方法?制作圆环的最简单方法是在原色上画一个较大的圆,然后在背景色内画一个较小的圆(如果是纯色)。否则,请使用具有透明中心的纹理。否,在box2d中无法在圆内创建空间。ChainShape和EdgeShape将起作用,但前提是您要创建一个不移动的环。如果您想要一个动态实体,您唯一的选择是带有少量凸多边形装置的复合多边形形状实体。复合多边形形状对于静态环也是一个好主意。我需要在环内添加
标签: Libgdx
bulletbulletphysics
我试图从摄影机原点发射立方体,使用摄影机方向作为发射线。我希望能够用int来改变镜头中传递的能量
在浏览了web上的各种代码之后,下面的内容似乎就是我要寻找的
obj.body.applyCentralImpulse(Vector3);
其中矢量3给出了X,Y,Z上的力
下面给出了相机的观察方向
Vector3 dir = cam.direction;
我如何将dir和所需的力结合起来
非常感谢。这就是它对我的作用:
float force = 10.0f; //but any
我画了许多彩色的弧线,它们围绕着一个球旋转。当用户触摸屏幕时,球会朝其指针的方向射出。
现在我想得到当碰撞发生时它与之碰撞的弧的颜色。
请帮忙。。
示例图像如下所示:
我想以RGB格式或散列格式或任何已知格式获取输出,以便使用它进行比较
请注意,任何建议都会很有帮助……提前谢谢。有什么原因不能将每个弧作为单独的实例,并将颜色存储在字段中
public class Arc
{
//color stored in the arc for easy retrieval
publi
如何检查一个多边形形状是否与另一个相同.equals()不起作用。此代码不打印“等于”
对于PolygonShape类,没有预定义的equals函数,但是编写自己的函数并不难。详情如下:
boolean polygonEqual(PolygonShape a, PolygonShape b) {
int n = a.getVertexCount();
//If the two shapes have differing numbers of vertices they can'
我已经搜索了大约两个小时的答案,但我还没有找到我想要的答案。我的问题是,是否有可能,以及如何,画出一个圆形的纹理,这样在圆形之外,纹理将是透明的,这是可能的吗
提前谢谢!这个网站到目前为止帮了大忙 如果您的图像使用的不是.png格式,请使用此链接
除此之外,如果你使用的是png图像,那么只需绘制圆环即可。圆圈外部将保持透明 最简单的方法是打开像Photoshop这样的程序,用alpha通道制作图像。这意味着:从一个完全透明的图像开始,在上面画一个圆圈。然后将其另存为.png
然后,您可以将其加载
还有一个libgdx组问题。我试图覆盖图像演员与滑块。滑块的高度是55,下面是bgImage,它的高度也应该是55。我正在使用这个代码。目标是实现完全覆盖,因为顶部的滑块是半透明的。问题是bgImage的高度与滑块(55)不同,即使我使用setHeight()方法设置它。我在render方法中跟踪了bgImage的高度。结果很有趣。仅在第一次调用render时,bgImage的高度为55,在所有后续的渲染调用中,bgImage的高度为140,因此弄乱了我的用户界面。高度变化的原因是什么?解决方法
1 2 3 4 5 6 ...
下一页 最后一页 共 33 页