Tag: 动画

如何制作applet动画?

我尝试为数组制作applet,包括插入/删除/搜索操作。 对于插入和删除,很容易:一旦用户单击“插入”或“删除”按钮,只需更新数组,然后调用重绘以重绘数组。 但是搜索是不同的,它是一个动画,一旦点击搜索按钮,我想从数组中的第一个元素开始,通过高光那个元素来检查值。 我有下面的代码,但它只是高亮了最后一步的元素(当找到元素时),它没有像我期望的那样高亮每个元素,我对applet动画不是很熟悉,任何人都可以救命? 谢谢。 // index for search. private searchIndex = -1; public boolean search(int number) { boolean found = false; for (int i = 0; i < arr.getSize(); i++) { searchIndex = i; repaint(); revalidate(); if (arr.getElement(i) == number) { found = true; break; } try { Thread.sleep(3000); } catch (InterruptedException e) { […]

Java NetBeans IDE – JPanel中的动画闪烁

我目前正在学习NetBeans中的Java动画和图形。 我决定在JPanel开始一个简单的球运动。 我在修复闪烁的闪烁问题时遇到了一些问题。 我看过很多论坛,但大多数是使用Double Buffering的AWT,但我发现SWING组件不需要Double Buffering。 我试过 – 使用repaint()和。 clearRect() 。 在2我发现使用。 clearRect()给了我更好的结果,但不是无缝的无闪烁动画。所以我想知道是否有更好的方法来消除闪烁。 这是我的代码: public class NewJFrame extends javax.swing.JFrame { int x; int y; int xspeed = 1; int yspeed = 1; int width; int height; Graphics g; /** * Creates new form NewJFrame */ public NewJFrame() { initComponents(); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { […]

动画两个Point对象之间的线

在两个Point对象之间画一条线的最简单方法是什么,看起来像是我手工实时绘制那条线? 例如: Point a = new Point(5,20); Point b = new Point(15,20); 如何使用“移动”线连接这些点? 换句话说,我想让用户感受某种“动作”。 有一个简单的方法吗?

JavaFX无限时间轴中的内存泄漏

我正在使用JavaFX设计秒表。 代码运行良好。 除了巨大的累积内存泄漏随着时间的推移。 每当我增加Timeline的framerate时,泄漏就会增加。 我目前使用的是4GB内存的Ubuntu 16.04,泄漏速度为300MB / min,速度为30fps。 那是5MBps。 我可以理解,这可能是由于重复绘制Scene而发生的,但为什么会累积? JVM不应该照顾这个吗? Main.java: package UI; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ButtonBar; import javafx.scene.layout.BorderPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception{ primaryStage.setTitle(“StopWatch”); primaryStage.setScene(new Scene(getPane(), 400, 400)); primaryStage.show(); } private BorderPane getPane(){ BorderPane pane = new BorderPane(); ClockUI […]

libGDX:3d动画无效

我使用Blender和fbxconv创建了一个.g3db动画文件。 现在,我的libGDX项目源代码看起来像这样: public class test implements ApplicationListener { // … public ModelInstance fred public AnimationController animationController; public void create () { modelBatch = new ModelBatch(); // … assets = new AssetManager(); assets.load(“data/fred.g3db”, Model.class); loading = true; } private void doneLoading() { Model fredData = assets.get(“data/fred.g3db”, Model.class); fred = new ModelInstance(fredData); animationController = new AnimationController(fred); animationController.animate(fred.animations.get(0).id, […]

imageview android的无限动画

这只是我未解决的问题的延续,可以在这里找到: Animate ImageView 现在,我设法使用图像视图 但我想要完成的是图像应该从左到右加速,当它们到达终点时,它们应该再次出现在活动上。 任何帮助和建议都非常感谢。 谢谢。

在LibGDX中实现梯形精灵

我正在尝试为一个简单的2D游戏创建一个程序动画引擎,让我可以用少量图像创建漂亮的动画(类似于这种方法,但对于2D: http : //www.gdcvault.com / play / 1020583 / Animation-Bootcamp-An-Indie-Approach ) 目前我有关键帧来保存不同动画对象的数据,关键帧是浮点数组,代表以下内容: translateX,translateY,scaleX,scaleY,rotation(degrees) 我想将skewX,skewY,taperTop和taperBottom添加到此列表中,但我无法正确呈现它们。 这是我尝试在精灵顶部实现锥度以使其呈梯形形状: float[] vert = sprite.getVertices(); vert[5] += 20; // top-left vertex x co-ordinate vert[10] -= 20; // top-right vertex x co-ordinate batch.draw(texture, vert, 0, vert.length); 不幸的是,这会产生一些奇怪的纹理变形。 我有一点谷歌,看看StackOverflow并找到了这个,这似乎是我遇到的问题: http://www.xyzw.us/~cass/qcoord/ 但是我不明白它背后的数学(什么是s,t,r和q?)。 有人可以解释一下吗?

了解Libgdx中的3D模型和节点

我试图更好地理解Libgdx中的Model和它们的Node层次结构。 据我所知, Model由许多子Node ,它也可以包含其他Node 。 每个节点都有一个描述其位置的Vector3 translation , Vector3 scale ,描述其比例和描述其旋转的Quaternion rotation旋转,所有这些都相对于父Node或Model 。 Matrix4 gloabalTransform描述的相同,但相对于他们所处的世界。 现在,如果我想到像Garrys Mod这样的游戏,那么Player的模型可以动态地移动模型的一部分(例如,如果他们在死后躺在边缘上,他们的上半身可以挂在墙上),我只能想一想,他们在源代码中修改了运行时的单个Node 。 现在我的问题: 我的假设是否正确? 我是否有可能在Blender创建Node (假设1 Node是左下腿,1 Node是左上腿……)并在运行时通过使用(例如) modelInstance.getNode(“leftLowerLeg”).translation.set(Vector3 position)来获取和更改它们modelInstance.getNode(“leftLowerLeg”).translation.set(Vector3 position) ,或者它们是自动创建和命名的,具体取决于形状,facecount ……? 非常感谢!

如何使弹跳球更快移动? 动态速度?

所以我现在有一个程序可以使用JavaFX在屏幕上移动一个弹跳球,现在我已经尝试在我的时间轴动画中重新格式化Duration.millis()下的某些值,并且我把它放得越快,但是,有人有告诉我这不是最好的方式,我应该问一下动态速度添加到我的程序这里是我的球运动代码: public class BallPane extends Pane { public final double radius = 5; public double x = radius, y = radius; public double dx = 1, dy = 1; public Circle circle = new Circle(x, y, radius); public Timeline animation; public BallPane(){ circle.setFill(Color.BLACK); // Set ball color getChildren().add(circle); // Place ball into Pane // Create […]

动画对象在两点之间移动

我正在制作一个你必须在周围订购部队的游戏,这意味着点击目的地,点击士兵,然后士兵移动到目的地。 我遇到了动画部分的问题。 我已经找到了MouseListener和图形的东西。 我知道你应该使用y = mx + b , m = y2 – y1/x2 – x1和y – y1 = m(x – x1) ,但不知道如何在我的应用程序中实现它。 我有一个包含侦听器的Game类,以及一个包含实际moveTo()方法的UserUnit类。 假设我已经弄明白了,如果我不这样做,我会问。 谢谢。