더 이상 고민하지 말고 먼저 렌더링을 보여드리겠습니다.
이것은 iOS에서의 효과이고, 안드로이드에서도 완전히 동일합니다. do_GestureView 구성 요소와 do_Animation 구성 요소를 통해 deviceone은 복잡한 크로스 플랫폼 순수 기본 애니메이션 효과를 쉽게 구현할 수 있습니다. 이 예는 열기 및 닫기 효과를 얻기 위해 그림의 위아래 애니메이션 슬라이딩을 제어하고 음향 효과도 지원합니다. .
다음은 주요 코드입니다
//index.ui.js var do_Animator1 = mm("do_Animator"); do_Animator1.append(500, { y: -1334, curve:"Linear" }); var do_Animator2 = mm("do_Animator"); do_Animator2.append(500, { y: 0, curve:"Linear" }); do_Page.on("NextPagemoveing", function(){ currentView=json_define[currentIndex].view; currentIndex++; if (currentIndex>=json_define.length) currentIndex=0; nextView=json_define[currentIndex].view; for(var i=0;i<json_define.length;++i){ if (json_define[i].view != currentView && json_define[i].view != nextView){ json_define[i].view.visible=false; } else{ json_define[i].view.visible=true; } } currentView.fire("closingBottom", "NextPagemove"); }); do_Page.on("NextPagemove", function(){ nextView.fire("initMoving", "NextPagemoved"); }); do_Page.on("NextPagemoved", function(){ currentView.y= 0; nextView.y= 1332; do_ALayout_main.y=0; do_ALayout_main.redraw(); do_ALayout_main.animate(do_Animator1, function(){ nextView.fire("opening"); }); }); do_Page.on("PrePagemoveing", function(){ currentView=json_define[currentIndex].view; currentIndex--; if (currentIndex<0) currentIndex=json_define.length -1; nextView=json_define[currentIndex].view; currentView.fire("closingHead", "PrePagemove"); }); do_Page.on("PrePagemove", function(){ nextView.fire("initMoving", "PrePagemoved"); }); do_Page.on("PrePagemoved", function(){ for(var i=0;i<json_define.length;++i){ if (json_define[i].view != currentView && json_define[i].view != nextView){ json_define[i].view.visible=false; } else{ json_define[i].view.visible=true; } } currentView.y= 1332; nextView.y= 0; do_ALayout_main.y=-1334; do_ALayout_main.redraw(); do_ALayout_main.animate(do_Animator2, function(){ nextView.fire("opening"); }); });