Tag: 动画

如何将Sprite纹理更改为Animation

我有一个Sprite每秒产生一次,我不想做的是将精灵纹理更改为动画,并且当它被触摸时它将恢复到正常纹理。 public void draw(SpriteBatch batch){ enemyIterator=enemies.iterator(); //arraylist iterator boolean touched=Gdx.input.justTouched(); float touchX=Gdx.input.getX(); //rendering and making the current sprite move while(enemyIterator.hasNext()){ Sprite sprite=enemyIterator.next(); sprite.draw(batch); sprite.translateY(deltaTime*movement); //detecting if the screen is touched and if the inputX is inside of the sprite. if(touched==true && touchX > sprite.getX() && touchX < sprite.getX()+sprite.getWidth()){ enemyIterator.remove(); //removing the sprite when touched. Pools.free(sprite); […]

如何在java中输入键盘后更改图像?

我有以下代码向您展示: public class Test extends JPanel implements ActionListener, KeyListener { Timer tm = new Timer(5, this); int x = 0, y = 0, velX = 0, velY = 0; public Test() { tm.start(); //starts the timer addKeyListener(this); setFocusable(true); setFocusTraversalKeysEnabled(false); } public void paint(Graphics g) { super.paint(g); ImageIcon s = new ImageIcon(“C:\\Users\\Owner\\Pictures\\Stick.jpg”); s.paintIcon(this,g,x,y); } public void […]

计算时的Java swing重绘:动画排序算法

http://www.youtube.com/watch?v=M0cNsmjK33E 我想使用Java Swing开发类似于上面链接的东西。 我有排序方法,并在重绘时完成,但是当我触发排序时,它不是显示条慢慢排序本身,而是在数组完全排序时冻结然后解冻。 我该如何解决? 编辑:抱歉忘了密码。 它是一个非常简单的gui。 另一个用于排序的类对整个数组进行排序 public class SortGUI { JFrame frame; int frameWidth = 1000, frameHeight = 1000; int panelWidth, panelHeight; DrawPanel panel; JPanel panel2; JScrollPane scroll; JViewport view; static int[] S = new int[50000]; public static void main(String[] args) throws InterruptedException { SortGUI app = new SortGUI(); initializeArray(); app.go(); } public […]

如何在没有取消选择的情况下单击并拖动某些内容

该程序是一个动画,可以在屏幕上创建汽车和/或卡车图标。 我现在的方式是它无法正常工作。 具体来说,程序没有单击并向右拖动。 如果未选择一个对象,则一旦单击该对象,将显示更大胆以显示它已被选中。 从那里我们希望能够拖动它,程序将重绘鼠标所在的任何地方。 如果图像未被选中,当我点击并拖动它时,它可以正常工作。 我遇到的问题是图像是否已被选中。 如果已经选择了图像,当我将鼠标移动到它并单击它以将其移动到不同的位置而不是移动时,它会被取消选择,因此不会发生移动。 以下是mousePressed和mouseDragged事件的代码。 我认为这就是问题所在,但我不确定是什么导致了这个问题。 addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent event) { mousePoint = event.getPoint(); for (SceneShape s : shapes) { if (s.contains(mousePoint)) s.setSelected(!s.isSelected()); } repaint(); } }); addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent event) { Point lastMousePoint = mousePoint; mousePoint = event.getPoint(); for (SceneShape s : shapes) { […]

动画背景java游戏

我正在编写一个类似于小行星的游戏,但我不明白如何在背景中产生小行星。 现在我在主类中产生了一颗小行星,但我想为小行星创造一个类吗? 主类 public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; if(flag_img) { background(g2d); logo(g2d); menu(g2d); spaceship(g2d); crediti(g2d); } } 背景function(现在) private void background(Graphics2D g2d) { asteroidi_g_x+=r.nextInt(4); asteroidi_g_y+=r.nextInt(1); g2d.drawImage(asteroidi_g[0], asteroidi_g_x,asteroidi_g_y,this); } 背景function(我想要的) private void background(Graphics2D g2d) { asteroid asteroid = new asteroid[10]; } 和类小行星 public class asteroid extends JPanel implements ActionListener { […]

Java Swing处理状态

我正在尝试实现一个swing架。 在此,我想在执行所需任务时使用不同的线程在textPanel中显示处理状态。 我尝试了以下代码。 当然逻辑有问题。 请提供正确的方法 import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class SampleSwing { private JFrame frame; public static JTextField textField; public static boolean processing=false; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { SampleSwing window […]

Android 4.4.2仅在完整Java代码动画期间在视图对象边界外创建黑色蒙版

真的需要一些帮助…… 请使用完整的Java代码查看ImageView的这个简单的FadeIn动画。 使用API​​的21,18,17,16重新创建它。完美无缺。 现在尝试使用API​​ 19(android 4.4.2),创建有趣的蒙版(请参阅下面的解释): public class _ExampleAnimationNotWorking extends Activity { Common common; // my own class to read assets FrameLayout fl; ImageView iv; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.common = new Common(this,this); this.fl = new FrameLayout(this); this.iv = new ImageView(this); FrameLayout.LayoutParams flparam = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.MATCH_PARENT); LayoutParams lparam = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); iv.setImageBitmap(common.newImage(“iv_image.png”, […]

如何正确地为数据结构中的图像设置动画而不是获取ConcurrentModificationException

对于那些讨厌阅读长问题的人, 请使用下面的完整代码,运行它,点击SPACE几次,然后你会得到一个ConcurrentModificationException 。 简单的问题:你如何解决它? 问题是尝试在退出屏幕时从列表中删除Fireball 。 Timer代码是问题所在。 如果您想了解更多信息,请继续阅读。 在OP询问如何射击火球图像的这个问题中,我回答了这个答案,表明应该使用数据结构来保存火球。 IMO是@ $$答案的一半。 我认为这是因为我提供的代码并不完整,因为它不考虑何时需要从数据结构中删除火球,比如当火球离开屏幕或者碰撞时与对方球员。 所以最终它只会变成一个无穷无尽的火球List ,我认为它不是有效的,也不是正确的做法。 这是我如何做到的。 有一个Fireball类可以保存火球和x和y位置的图像。 我所做的就是继续使用键绑定向List添加一个Fireball实例,并使用计时器移动Fireball的x位置进行动画处理 Timer timer = new Timer(40, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { for (Fireball ball : fireBalls) { ball.x += X_INC; repaint(); } } }); … getActionMap().put(“hadouken”, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { […]

重播非循环gif图像

我有一个非循环的gif,我用作两个JLabel的ImageIcon,但不是同时使用。 我的问题是,当我将第二个JLabel的图标设置为gif时,动画已经播放,所以它只显示它的最后一帧。 当gif设置为第二个JLabel时,你知道一种获取动画的方法吗?

Java:Swing的安全动画

我正在创建一个使用JFrame,JPanel,JLabel和所有其他类型的swing组件的程序。 我想要做的是在专用于此动画的单独JPanel上创建2D动画。 所以我将覆盖paintComponent(Graphics g)方法。 我有使用for循环+线程制作动画的经验,但是我听说线程在摆动时并不安全。 因此,使用Runnable接口制作动画是否安全? 如果不是我应该使用什么(例如计时器),请举例说明如何最好地使用它(或链接到网页)。 编辑: 感谢Jeff,我将使用Timer来创建动画。 对于这个问题的未来观众,这是一个我在大约5分钟内编写的快速程序,原谅脏代码。 我还添加了一些快速评论。 import java.awt.*; import java.awt.event.*; import javax.swing.*; class JFrameAnimation extends JFrame implements ActionListener { JPanel panel; Timer timer; int x, y; public JFrameAnimation () { super (); setDefaultCloseOperation (EXIT_ON_CLOSE); timer = new Timer (15, this); //@ First param is the delay (in milliseconds) therefore this […]