JavaFx實現搖頭動畫

項目需要,點擊登錄時信息填寫不完整需要一些動畫提示,於是就研究了一下JavaFx的動畫,方便以後查看!
以此記錄!
廢話不多說,代碼如下:

            Path path = new Path();//創建一個路徑對象
            double x=loginButton.getLayoutX()+25;
            double y=loginButton.getLayoutY();
            path.getElements().add(new MoveTo(x, y+18));//從哪個位置開始動畫,一般來說給組件的默認位置就行
            path.getElements().add(new LineTo(x-20, y+18));//添加一個向左移動的路徑
            path.getElements().add(new LineTo(x+20, y+18));//添加一個向右移動的路徑  這樣就完成第一遍搖頭
            path.getElements().add(new LineTo(x-20, y+18));//添加一個向左移動的路徑 第二遍
            path.getElements().add(new LineTo(x+20, y+18));//添加一個向右移動的路徑  這樣就完成第二遍搖頭
            path.getElements().add(new LineTo(x, y+18));//最後移動到原來的位置

            PathTransition pathTransition = new PathTransition();//創建一個動畫對象
            pathTransition.setDuration(Duration.seconds(0.5));//動畫持續時間 0.5秒
            pathTransition.setPath(path);//把我們設置好的動畫路徑放入裏面
            pathTransition.setNode(loginButton);//給動畫添加組件,讓某個組件來完成這個動畫
            pathTransition.setCycleCount(1);//執行1遍 
            pathTransition.play();//執行動畫

有的同學會想,我們添加了重複的兩個左右移動路徑,爲什麼不復用,把
setCycleCount(1) 改成
setCycleCount(2),
因爲複用,我們有一個
path.getElements().add(new LineTo(x, y+18));//最後移動到原來的位置
重複動畫的話,這個也會重複兩邊,動畫效果看起來就不連貫,有興趣的可以自己試試看!

圖片:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章