Android Actionscript 3.0中的材质设计UI(高级动画)?
在android的动画上实现这些东西的最佳方式是什么?(投下阴影、轻松等) 我找到了一个简单的方法来获得这种效果;通过在“AppContainer”类的时间线中使用tweens设置我的UI动画,并按照如下方式设置我的文档类:Android Actionscript 3.0中的材质设计UI(高级动画)?,android,actionscript-3,user-interface,animation,material-design,Android,Actionscript 3,User Interface,Animation,Material Design,在android的动画上实现这些东西的最佳方式是什么?(投下阴影、轻松等) 我找到了一个简单的方法来获得这种效果;通过在“AppContainer”类的时间线中使用tweens设置我的UI动画,并按照如下方式设置我的文档类: package { import flash.display.MovieClip; import flash.display.Stage; import flash.display.StageAlign; import flash.dis
package {
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
public class Groot extends MovieClip {
public var appContainer = new AppContainer;
public function Groot() {
stage.scaleMode = StageScaleMode.SHOW_ALL;
stage.align = StageAlign.TOP_LEFT;
appContainer.width = stage.stageWidth;
appContainer.height = stage.stageHeight;
addChild(appContainer);
}
}
}
从这里开始,这只是一个事件Lesterns和gotoAndPlay/Stop()的问题;命令。但是,如果我不希望边框的纵横比“错误”,我必须使用:
StageScaleMode.EXACT_FIT
以及相对物体的定位。(除了所需的复杂动画外,这本身并不是什么大问题)。这样就排除了在任何时间范围内工作的可能性,而这正是让我不知所措的地方
现在,我可以使用如下方法设置一个类来轻松处理相对定位:
package {
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
public class Groot extends MovieClip {
var pos = new PositionHandler();
var appContainer = new AppContainer;
public function Groot() {
stage.scaleMode = StageScaleMode.SHOW_ALL;
stage.align = StageAlign.TOP_LEFT;
pos.startPos(appContainer)
addChild(appContainer);
}
}
}
使用类来处理各种相对位置函数:
package {
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.StageAlign;
public class PositionHandler {
public function PositionHandler() {
// constructor code
}
public function startPos(obj:MovieClip):void {
obj.width = stage.stageWidth;
obj.height = stage.stageHeight;
}
}
}
如果我想静态地定位UI组件,但要动态地设置它们的动画,从一个相对位置移动到另一个相对位置,这一切都很好?从一个定制的类不少于?我不知道。。。(更不用说设置阴影/潜在形状变化/颜色擦除等动画)如有任何帮助,将不胜感激
谢谢 Flash实际上不支持开箱即用的“相对”大小和定位。但是没有理由你不能扩展它来给你这种行为 不过这有点像一项事业,因为它基本上可以归结为编写一个布局框架。但是你可以做一些更脏的事情 一个起点可以是扩展Sprite,然后覆盖它的宽度/高度getter/setter。你可以定义自己的逻辑来回应你所认为的“宽度”和“高度”的意思,而不是让flash为你缩放精灵 然后您可以提供“比例宽度”和“比例高度”获取/设置器
functionCalledFrameAfterAnyLayoutValuesChanged()
{
if ( proportionalWidth is defined )
widthToLayoutTo = proportionalWidth * parent.width;
else
widthToLayoutTo = width;
if ( proportionalHeight is defined )
heightToLayoutTo = proportionalHeight * parent.height;
else
heightToLayoutTo = height;
// Perform whatever logic you need to make your Sprite scaled to widthToLayoutTo / heightToLayoutTo
...
}
类似的事情可以通过“比例Lx”和“比例”来获得相对定位
您可以构建一包扩展此类的组件,覆盖每个类的定制内容
然后,你可以自由选择这些“相对”属性之间的任何方式。我建议使用像GTween这样的库。
1)视频是在专业视频编辑工具中创建的。反正这不是一个银幕演员。第二)在安卓系统上运行的Actionscript中,我认为你永远都不会获得那种平滑度。3)如果您想使用android framework:5.0为您自动绘制阴影,并在视图上使用
.animate()
方法和ViewAnimationUtils.createCircularReveal
进行循环动画这很有帮助,谢谢!我还发现了一些好的工具。