flare에서 rive로 변경되고, 코드도 좀 많이 변경된 듯하다. 음.. 짜.....
그래도 해보자. controller
부터 만들고
late RiveAnimationController _rivcontroller;
bool get isPlaying => _rivcontroller.isActive;
isactive
값을 반전시키는 메소드를 넣어준다.
void _toggleAnimation() {
setState(() {
_rivcontroller.isActive = !_rivcontroller.isActive;
});
}
initState
에서 controller
를 oneshotanimation
으로 등록해준다.
@override
void initState() {
super.initState();
// _controller = SimpleAnimation('touchMotion');
_rivcontroller = OneShotAnimation(
'touchMotion',
onStop: (() => print('stop')),
onStart: () {
print('start');
},
);
}
controller
의 dispose
도 넣어주고,
@override
void dispose() {
_rivcontroller.dispose();
super.dispose();
}
UI내에 RiveAnimation
을 넣어준다.
child: RiveAnimation.asset(
'touch.riv',
controllers: [_rivcontroller],
),
FloatingActionButton
으로 PLAY/PAUSE를 제어할 수 있도록 한다.
floatingActionButton: FloatingActionButton(
onPressed: _toggleAnimation,
tooltip: fbicontooltipdata,
child: fbicondata,
),
생각보다 간단한데? 다음엔 새로 생긴 State Machine
을 알아봐야한다.
끝.
'Dead Code > Flutter_Dart' 카테고리의 다른 글
[플러터] 구글 Sheets 를 DB로 사용해서 갤러리 만들기 #1 (0) | 2023.05.11 |
---|---|
[플러터] Rive animation 실행은 해보자 #2 (0) | 2023.04.24 |
[플러터] 자질구래한 methods (0) | 2023.04.20 |
[플러터] Rive 오랜만에 사용 (0) | 2023.03.26 |
[플러터] web 빌드 그리고 row/column 리스트 개별 관리 (0) | 2023.03.16 |
[플러터] reorderableList - 리스트 순서 바꾸기 (0) | 2022.09.14 |
[플러터] 위젯 사이즈 확인하기 (0) | 2022.09.13 |
[플러터] 탭한 위치의 위치값 찾기 (0) | 2022.09.13 |
[플러터] web - NetworkImage, 이미지 안뜰 때 (0) | 2022.09.01 |
[플러터] 엑셀 날짜를 DATETIME으로 변경 (0) | 2022.08.30 |