我正在为Minecraft制作一个基于文本的雷达.如果玩家距离你不到20个街区,它会在聊天中说出来.截至目前,它正在骚扰聊天.如何才能让它只写入关于该玩家ONCE的聊天?即使你不玩游戏,也应该很容易理解.
if (Camb.radar)
{
for (Entity e: (List < Entity > ) mc.theWorld.loadedEntityList)
{
if (e instanceof EntityPlayer)
{
EntityPlayer player = (EntityPlayer) e;
if (player == mc.thePlayer || mc.thePlayer.getDistanceToEntity(e) > 20.0)
continue;
mc.thePlayer.addChatMessage("\2479[CAMB] \247e" + player.getEntityName() + " has entered your 20 block radius!"); //Write to chat, only want this line done once for every player
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在制作游戏
使用Slick2D.当玩家进入一个有敌人的窗口时,他们可以射击,并且会加入积分.除了射击之外,我还有完成所有技工.这是我关于它如何运作的"计划".
当玩家到达窗口下方(程序通过y坐标拾取)并触发时,点数将被添加到计数器中.
我怎样才能让我的程序意识到玩家确实在窗户下面?
谢谢,这是我的PlayState代码.
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import org.newdawn.slick.state.BasicGameState;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.StateBasedGame;
import org.newdawn.slick.Image;
import org.newdawn.slick.state.transition.FadeInTransition;
import org.newdawn.slick.state.transition.FadeOutTransition;
import java.util.Random;
import java.util.TimerTask;
import java.util.Timer;
public class PlayState extends BasicGameState{
int stateID = -1;
int w = SwegBoi.WIDTH;
int h = SwegBoi.HEIGHT;
static int enemylocation;
float s = SwegBoi.SCALE;
Image playbackground;
Image swegboiplayer;
Image quit;
Image enemy1;
Image enemy2;
float playery;
int score = 0;
final static Random ran = new Random();
static Timer tm = …Run Code Online (Sandbox Code Playgroud) if(Camb.killaura){
Camb.vkillaura = false;
}
if(Camb.vkillaura){
Camb.killaura = false;
}
Run Code Online (Sandbox Code Playgroud)
我正在为一款名为Minecraft的游戏制作一个改装客户端.有两种类型的杀戮光环,一种适用于某些服务器,另一种适用于其他服务器.假设我已经开启了VKillaura,而我想使用KillAura,我会按下一个按钮,然后他们就会切换.这有效.但是,如果我正在使用KillAura并且我想切换到VKillAura,它将不会让我.我想这是因为Eclipse从上到下阅读,而我的VKillaura if语句低于我的杀戮光环.我该如何解决?