Tag: 动画

GridLayout上的动画精灵

我有点卡住了。 我正在创建一个Java内存游戏,它包含一个6×6网格的动画精灵(我教授的要求)。 在我的试用版中,我只能显示一个具有精灵动画的组件。 我的另一个尝试是改变p1 [i] = new Ash(),它能够将所有精灵绘制到网格中的所有组件但没有动画。 我想问一些关于如何处理这个问题的想法,其中网格中的所有组件都有一个ANIMATED精灵。 我的主要课程: public class Main extends Component{ public static void main(String[] args) { Ash ash = new Ash(); JFrame f = new JFrame(“Game sample”); JPanel panel1 = new JPanel(new GridLayout(6,6,6,6)); JPanel[] p1 = new JPanel[36]; for(int i = 0;i trigger) { trigger = start + delay; ash.repaint(); […]

Java动画动画(精灵)

您好我有一个问题:当我运行此代码时,我得到这个: 在一些java论坛上他们说我需要添加Graphics2DObject.clearRect(x1,y1,x2,y2); (其中`x1和y1是图像的坐标,x2 y2是图像的宽度高度。)当我将它添加到代码中时我得到: 代码(附加function): 主要: import java.awt.*; import javax.swing.*; public class Main { public static void main(String []args){ Main b = new Main(); b.run(); } private Sprite sprite; private Animation a; private ScreenManager s; public double sk = 0; private static final DisplayMode modes1[] = { new DisplayMode(800, 600, 32, DisplayMode.REFRESH_RATE_UNKNOWN), }; //load images […]

当许多精灵在屏幕上时,Java Swing游戏的性能很差

我正在Swing中制作一个简单的塔防游戏,当我尝试在屏幕上放置许多精灵(超过20个)时,我遇到了性能问题。 整个游戏发生在具有setIgnoreRepaint(true)的JPanel上。 这是paintComponent方法(con是Controller): public void paintComponent(Graphics g){ super.paintComponent(g); //Draw grid g.drawImage(background, 0, 0, null); if (con != null){ //Draw towers for (Tower t : con.getTowerList()){ t.paintTower(g); } //Draw targets if (con.getTargets().size() != 0){ for (Target t : con.getTargets()){ t.paintTarget(g); } //Draw shots for (Shot s : con.getShots()){ s.paintShot(g); } } } } Target类simple在其当前位置绘制BufferedImage。 getImage方法不会创建新的BufferedImage,它只返回Controller类的实例: public […]

创建一个较慢的过渡。 TransitionManager.beginDelayedTransition(); 太快了

我正在创建一个过渡。 单击按钮时,将执行以下方法。 该方法改变了图像视图的大小和位置,并将其淡化。 我正在使用TransitionManager.beginDelayedTransition(); is too fast. TransitionManager.beginDelayedTransition(); is too fast. 减缓过渡..但它仍然太快了。 我该怎么做才能减缓过渡期。 谢谢。 private void moveIcon() { View moveableIcon = findViewById(R.id.moveableImageView); TransitionManager.beginDelayedTransition(myLayout); // change the position of the icon RelativeLayout.LayoutParams positionRule = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT , RelativeLayout.LayoutParams.WRAP_CONTENT); positionRule.addRule(RelativeLayout.ALIGN_PARENT_TOP , RelativeLayout.TRUE); positionRule.addRule(RelativeLayout.ALIGN_PARENT_LEFT , RelativeLayout.TRUE); moveableIcon.setLayoutParams(positionRule); // change the size of the button ViewGroup.LayoutParams sizeRules = […]

这个我正在制作动画的正方形背后留下了一条痕迹,任何人都可以找出原因吗?

感谢您查看此问题。 我想我只是在挫折中刮伤了我的头骨。 所以我得到的是一个包含’JPanel’的’JFrame’。 ‘JPanel’包含一个小的彩色方块,每当我点击窗口时它应该移动X像素。 好吧,基本上一切都表现得应有,但有一个例外。 当蓝色方块向右移动时,它会在其后面留下其他方块的痕迹。 但是,当我重新调整窗口大小时,小道就会消失。 Catalyst.java package Prototype; import java.awt.*; public class Catalyst { public static void main(String[] args){ World theWorldInstance = new World(“Prototype”, 100,100, 600,100); /*title,xpos,ypos,width,height*/ } } World.java package Prototype; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class World extends JFrame { Level mainPanel; public World(String title, int x, int y, […]

在Javafx中为新的ListView条目设置动画

问题 嗨, 我正在尝试编写一个应用程序,ListView中的每个新条目都会被动画化。 这是我的代码: public class BookCell extends ListCell { private Text text; private HBox h; public BookCell() { this.text = new Text(); this.h = new HBox(); this.h.getChildren().add(text); super.getStyleClass().add(“book-list-cell”); super.itemProperty().addListener((obs,oldv,newv)->{ if(newv != null ) { if(getIndex() == this.getListView().getItems().size()-1 ) { //why does this get called twice for each update? System.out.println(“isbn = “+newv.getIsbn().get() + ” lastIndexOf=” […]

Java动画

我开始对使用Java制作动画(幻灯片,背景等)感兴趣。 我知道JavaFX做得好多了,但我只是顽固地讨厌转换。 这是我到目前为止所得到的。 import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.awt.image.BufferedImageOp; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import java.util.ArrayList; import java.util.Arrays; import java.util.Random; import javax.swing.JFrame; import javax.swing.JPanel; public class BlurredLightCells extends JPanel { private static final long serialVersionUID = 4610174943257637060L; private Random random = new Random(); private ArrayList lightcells; private float[] blurData = […]

Android:文字淡入淡出

我已经阅读了这个stackoverflow问题和答案,并尝试实现淡入淡出的文本: 如何让Android中的文字淡入淡出? 这是我的实现: public class ShowActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_show); final TextView mSwitcher = (TextView) findViewById(R.id.textFade); mSwitcher.setText(“old text”); final Animation in = new AlphaAnimation(0.0f, 1.0f); in.setDuration(5000); final Animation out = new AlphaAnimation(1.0f, 0.0f); out.setDuration(5000); out.setAnimationListener(new AnimationListener() { @Override public void onAnimationEnd(Animation animation) { mSwitcher.setText(“New Text”); mSwitcher.startAnimation(in); } @Override […]

JPanel中的JLabel动画

在刮擦后我发现最好通过扩展JLabel来实现自定义图像组件。 到目前为止,这已经很有效,因为我可以添加多个“图像”(jlabels没有布局中断。我只是有一个问题,我希望有人可以为我回答。 我注意到为了在屏幕上为setlayout(null);制作动画,我需要setlayout(null); 和组件的setbounds ,然后动画最终setlocation(x,y); 。 这是动画组件的最佳实践还是可怕的方法? 我计划最终制作一个动画课,但我不想这样做,最后不得不把它扔掉。 我已将相关代码包含在内,以便快速查看。 import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JPanel; import javax.swing.Timer; public class GraphicsPanel extends JPanel { private Timer timer; private long startTime = 0; private int numFrames = 0; private float fps = 0.0f; private int x = 0; GraphicsPanel() { final […]

我如何逐像素地绘制图像到jframe

我是java的初学者,直到今天我试着做我认为自己的事。 所以这一天就在这里; 我将图像的所有像素都作为rgb排列。 我想点击一个按钮,然后像素一样创建类似动画的图像。 这就是我所做的不起作用; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.Border; import javax.swing.border.TitledBorder; public class pixell extends JFrame { int x = 0; int y = 0; JButton btn; […]