Articles of Java

j2me位图字体

那么我已经find了一个教程如何使图像的位图字体。 (http://devlinslab.blogspot.com/2007/11/using-custom-fonts-or-bitmap-fonts-part.html)。 所以我在我的游戏中使用了这个代码,问题是应该在屏幕上看到的其他graphics像矩形等是不可见的。 在新添加的代码之前 http://img.ufgame.com/java/30wt5ad.jpg 后 http://img.ufgame.com/java/3581k44.jpg GameCanvas类play.java public void start() { try { map = Image.createImage("/mapas.png"); human = Image.createImage("/players.png"); ingame = Image.createImage("/ingame.png"); items = Image.createImage("/items.png"); atkPav = Image.createImage("/ingamee.PNG"); } catch (IOException ioex) { System.out.println(ioex); } // f is the newly added class where is methods drawString() drawChar() and etc. f = new f(); f.load("/chatfont.PNG"); […]

无法访问jar。 为什么?

我在java中制作游戏,并将其导出为jar文件。 之后,我打开了jar拼接。 我添加了库和导出的jar。 我添加了当地人,然后我做了一个主要的课程。 我创建了一个胖的jar子,放在我的桌面上。 我使用的是Mac OS X 10.8 Mountain Lion。 当我把terminal,java -jar System Front.jar中,它说无法访问System Front.jar即使我双击文件,它没有显示! 帮帮我! 我使用光滑的。 我添加了slick和lwjgl作为jar拼接在jar的库。

无法让精灵正确旋转?

我正在尝试使用Java / Slick 2D来玩graphics。 我试图让我的精灵旋转到屏幕上的任何地方,然后相应地移动。 我认为最好的方法是跟踪精灵的角度,因为我必须将角度的余弦/正弦乘以移动速度,以便让精灵“向前”,即使它是比方说在第三象限45度。然而,在我甚至担心这个之前,我甚至不知道我的精灵在第一时间旋转。 初步的控制台testing表明,这个代码工作,但适用于精灵,它只是抽动。 任何人都知道什么是错的? int mX = Mouse.getX(); int mY = HEIGHT – Mouse.getY(); int pX = sprite.x; int pY = sprite.y; int tempY, tempX; double mAng, pAng = sprite.angle; double angRotate=0; if(mX!=pX){ tempY=pY-mY; tempX=mX-pX; mAng = Math.toDegrees(Math.atan2(Math.abs((tempY)),Math.abs((tempX)))); if(mAng==0 && mX<=pX) mAng=180; } else{ if(mY>pY) mAng=270; else mAng=90; } //Calculations if(mX<pX&&mY<pY){ […]

滚动对象然后创建此对象的新实例

在我的游戏中,当按下鼠标右键时,你会把一个物体放在地上。 所有对象都有相同的超类(GameObject)。 我有一个被选中的字段,并且一次等于一个特定的gameobject。 当点击鼠标右键时,它会检查选中的实例,以及如何确定将哪个对象放置在地面上。 代码exapmle:t是对象将要去的“槽”。 if (selected instanceof MapleTree) { t = new MapleTree(game,highLight); } else if (selected instanceof OakTree) { t = new OakTree(game,highLight); } 现在它必须是对象的“新”实例。 最终,我的游戏将有数百个GameObjects,我不想有一个巨大的if else语句。 我怎么做,所以它滚动的可能种类的对象,如果它的正确types,然后创建一个新的实例…? 按E时,它将切换所选的types,并且也是一个if else语句。 我怎样才能做到这一点呢? 这里是一个代码示例: if (selected instanceof MapleTree) { selected = new OakTree(game); } else if (selected instanceof OakTree) { selected = new MapleTree(game); }

MarteEngine瓷砖碰撞

我需要使用MarteEngine添加碰撞到我的瓷砖地图。 MarteEngine是由slick2D构建的。 这是我的瓷砖代码:代码: public void render(GameContainer gc, StateBasedGame game, Graphics g) throws SlickException { for (int x = 0; x < 16; x++) { for (int y = 0; y < 16; y++) { map[x][y] = AIR; air.draw(x * GameWorld.tilesize, y * GameWorld.tilesize); } } for (int x = 0; x < 16; x++) { […]

从大炮的末端旋转精灵和射击子弹

可能重复: 如何对准枪与子弹 大家好,我的Andengine代码有问题, 我需要,当我触摸屏幕,从大炮射出一个子弹(在大炮的相同方向)大炮旋转完美,但当我触摸屏幕的子弹不是在炮塔的尽头 这是我的代码: private void shootProjectile(final float pX, final float pY){ int offX = (int) (pX-canon.getSceneCenterCoordinates()[0]); int offY = (int) (pY-canon.getSceneCenterCoordinates()[1]); if (offX <= 0) return ; if(offY>=0) return; double X=canon.getX()+canon.getWidth()*0,5; double Y=canon.getY()+canon.getHeight()*0,5 ; final Sprite projectile; projectile = new Sprite( (float) X, (float) Y, mProjectileTextureRegion,this.getVertexBufferObjectManager() ); mMainScene.attachChild(projectile); int realX = (int) (mCamera.getWidth()+ […]

跳棋游戏背后的逻辑?

我开始做一个跳棋游戏,我已经把所有的graphics和棋盘都画出来了。 在我开始创作这些作品之前,我想知道怎样才能解决作品逻辑运动的一个简单方法。我应该制作一个每个正方形的表格,检测它是否有一块,如果是的话,是什么颜色的? (即0 =空,1 =红色,2 =黑色),或者你们对这个问题有更好的主意吗? 提前致谢。

jBullet碰撞/物理没有按预期工作

下面是我创建的游戏中的一个对象的代码(是的,虽然这是一个多维数据集,我不是像MineCraft那样远程做任何事情),而我的问题是当多维数据集将显示,并且确实遵循物理立方体落下,它不会与游戏中的任何其他物体相互作用。 如果我立刻在屏幕上放置多个立方体,他们都会坐在那里,或者四处射击,永不停歇。 无论如何,我是jBullet的新手,任何帮助将不胜感激。 // Constructor public Cube(float pX, float pY, float pZ, float pSize) { posX = pX; posY = pY; posZ = pZ; size = pSize; rotX = 0; rotY = 0; rotZ = 0; // physics stuff fallMotionState = new DefaultMotionState(new Transform(new Matrix4f(new Quat4f(0, 0, 0, 1), new Vector3f(posX, posY, posZ), 1))); fallRigidBodyCI […]

在Graphics2D中使用Doubles渲染graphics

目前,我有一个JFrame用于渲染游戏,我使用Graphics2D进行绘制(游戏graphics是相当简单的2D精灵)。 但是,我的德尔塔variables是双重的,所有的graphics2D方法(和Grpahics)使用int。 我试图键入三角洲转换为一个int,但它只是舍入到0.所以我的问题是,我怎样才能使用Graphics2D在Java中的坐标是双打的graphics。 如果没有内置的方法,我可以将它转换为Graphics2D吗? 或者,有没有一个graphics库,可以支持坐标双打?

SFX每碰撞或击中一次播放

我有一个关于使用Box2D(LibGDX的引擎用于制作逼真的物理)的问题。 我在下面的物理代码上观察到: @Override public boolean touchUp(int screenX, int screenY, int pointer, int button) { // TODO Touch Up Event if(is_Next_Fruit_Touched) { BodyEditorLoader Fruit_Loader = new BodyEditorLoader(Gdx.files.internal("Shape_Physics/Fruity Physics.json")); Fruit_BD.type = BodyType.DynamicBody; Fruit_BD.position.set(x, y); FixtureDef Fruit_FD = new FixtureDef(); // –> Allows you to make the object's physics. Fruit_FD.density = 1.0f; Fruit_FD.friction = 0.7f; Fruit_FD.restitution = 0.2f; […]