Video: AEGIS project video 2024
Du kan ta dina JavaFX-applikationer vidare genom att integrera enkla animeringseffekter. Effekterna gör att dina applikationer blir levande genom att objekten på skärmen kan röra sig.
Du kan gå långt för att förbättra utseendet på dina JavaFX-applikationer genom att tillämpa specialeffekter, som innehåller fastighetsbindningar för att göra dina kontroller mer lyhörda och använda ljud och media för att ge audio och visuell intresse.
Vänligen få inte dina förhoppningar om att vinna en Oscar för bästa animation nästa år. Ingen kommer att lura sig för att tro att du samarbetade med Pixar på din ansökan. Ändå kan du lägga till några intressanta whiz-bang till dina applikationer med hjälp av dessa tekniker.
Grundsidan av JavaFX-animationer är att manipulera värdet av en eller flera nodeegenskaper med jämna mellanrum. Antag att du har en cirkel som representerar en boll och du vill flytta den från vänster sida av skärmen till höger. Om du antar att skärmens bredd är 600 pixlar, kan du animera cirkeln genom att ändra sin posX-egenskap från 0 till 600.
Två faktorer påverkar hur snabbt bollen flyttas över skärmen: hur mycket tid som går mellan varje ändring i posX-egenskapen och det steg du lägger till i posX-egenskapen vid varje tidsintervall.
Om du till exempel lägger till 3 i posX-egenskapen vid varje tidsintervall, tar det 200 intervaller för att nå 600 (3 x 200 = 600). Om intervallerna uppträder var 10: e millisekunder (100 gånger per sekund) tar det 2 000 millisekunder - 2 fulla sekunder - för att bollen ska passera skärmen från vänster till höger.
Utan JavaFX-animeringar kan du implementera den rörliga bollen genom att använda Java Timer-objektet för att flytta bollen med jämna mellanrum. Timerklassen kan vara svår att ställa in och använda korrekt. JavaFX-animeringsklasserna gör animering av dina noder ett mycket enklare proposition.
JavaFX tillhandahåller två grundläggande sätt att skapa animeringar - hård väg och enkelt sätt:
-
Den svåra vägen kräver att du konfigurerar timerhändelser manuellt, och skriv sedan händelse lyssnare som kallas när timerhändelserna inträffar. I händelse av lyssnare manipulerar du egenskaperna hos de noder du vill animera.
Om du exempelvis vill flytta en boll över skärmen ställer du in ett tidsintervall som markerar var 10: e millisekunder. Vid varje kryssning ökar du x-positionen för bollen med 3. Du skulle då ställa in timern att köra totalt 200 gånger för att flytta bollen.
Om du vill konfigurera denna animering krävs att du använder två klasser: Tidslinje och KeyFrame, och att du skriver en ActionEvent-lyssnare för att flytta bollen.
-
enkelt sätt utnyttjar genvägsklasser som tillhandahålls av JavaFX för att enkelt implementera vanliga typer av animeringar.
Du kan till exempel använda TranslateTransition-klassen för att enkelt flytta en cirkel från en sida av skärmen till den andra under en viss tidsperiod. Du har precis ställt in en TranslateTransition som anger att du vill ändra bollens x-position från 0 till 600 under 2 sekunder. Översättsklassen tar hand om detaljerna.