精华内容
下载资源
问答
  • 位移动画

    千次阅读 2015-01-12 01:38:50
    位移动画 public class MainActivity extends Activity implements OnClickListener { private TextView tv_text; private TranslateAnimation animation; @Override protected void onCreate(Bundle ...

    位移动画

    public class MainActivity extends Activity implements OnClickListener {
    
    	private TextView tv_text;
    	private TranslateAnimation animation;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		tv_text = (TextView) findViewById(R.id.tv_text);
    		tv_text.onWindowFocusChanged(true);
    		//int width = tv_text.getWidth();
    		//int measuredWidth = tv_text.getMeasuredWidth();
    		int www = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 
    		int hhh = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); 
    		this.tv_text.measure(www, hhh); 
    		// 获取控件的宽度
    		int realitemWidth=this.tv_text.getMeasuredWidth(); 
    		int realitemHeight=this.tv_text.getMeasuredHeight(); 
    		
    		animation = new TranslateAnimation(0, realitemWidth,0, 0); 
    		
    		
    		
    		animation.setDuration(2000);//设置动画持续时间 
    		animation.setFillAfter(true);
    		//animation.setRepeatCount(1);//设置重复次数 
    		
    		tv_text.setOnClickListener(this);
    	}
    
    	@Override
    	public void onClick(View arg0) {
    		tv_text.startAnimation(animation);
    		Toast.makeText(this, "jife", 0).show();
    		this.overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
    	}
    }


    展开全文
  • 用javascript制作逐帧动画电影 JS长图位移动画.zip
  • 位移动画和渐隐渐现动画效果的实现,比较简单,仅供新手学习
  • 像素画动画教程:超级马里奥角色待机位移动画题图:hexcode摘要:像素画动画教程:超级马里奥角色待机位移动画关键词:像素画,动画,游戏角色待机学习动画最快速的方法是逐帧看动画片。小时候在电视上看动画片,...

    像素画动画教程:超级马里奥角色待机位移动画

    5b7404840ce0620f3670d9d9806d96e6.png

    题图:hexcode

    摘要:像素画动画教程:超级马里奥角色待机位移动画

    关键词:像素画,动画,游戏角色待机

    682adfa2d0a6a1e6ecb0d97bbe76e663.png

    学习动画最快速的方法是逐帧看动画片。小时候在电视上看动画片,觉得很神奇。长大了才知道动画片其实就是一张一张的画连续播放产生的视错觉。谜底揭开以后,就开始苦恼制作动画片成本高昂,然后发现了Flash,做动画效率提高了不少。不过逐帧动画依然成本很高,然后有了元件动画和骨骼动画,每一次新技术的产生,都会降低动画片的制作成本。

    不过最终还是回到像素画的原点。如果你喜欢像素画,也喜欢动画,可以跟着这个系列的教程一起学习。

    上一篇我们了解了FC超级马里奥游戏中使用动画类型理论,今天我们来实践一下,理论联合实践,就可以帮助我们快速学会动画的制作技能。

    1、学习方法:模仿

    人类最熟悉的学习方法就是模仿,新生儿会模仿父母,学生会模仿老师。每一门技术和手艺都是这样代代相传。互联网诞生之后,很多人开始看网上的教程自学,文字、图片、视频变成了老师。

    虽然开发超级马里奥的宫本茂没有办法来给我们上课,但是他留下的作品可以。那么我们就来模仿超级马里奥做一个自己的游戏角色。

    2、变成自己喜欢的角色

    如果你有已经设计好的角色,就可以直接将角色转画为16X16像素的像素画角色。如果没有,则可以找一个知名的电影角色或者动漫角色,我选择超人,找一张能看到超人全身的图片。

    1cb443acf63314cc9d981f457d61eac4.png

    然后对照FC版马里奥,画出16X16像素的超人。如果你觉得不知道怎么办,可以直接在马里奥的基础上修改。

    1、尺寸为16X16像素,3个颜色;

    2、改变衣服裤子鞋子的颜色;

    3、去掉帽子、大胡子和大鼻子;

    4、加上红披风。

    15fa4441601cd1003a3e2cd2317e546a.png

    3、位移动画

    位移动画是指只需要简单移动就可以制作出来的动画。现在超人角色的站立帧已经画好了,制作待机动画只需要简单位移即可。

    1、第1帧:站立帧;

    2、第2帧:用选框工具选中腿部以上的角色向下移动1像素;

    3、第3帧:用选框工具选中腿部以上的角色再向下移动1像素;

    4、复制第2帧到第4帧

    49df793718db0ab93c25784ee2f42d01.png

    连续播放,4帧角色待机动画就做好了!为了更耐看,我额外制作了披风和刘海的跟随动画,跟随动画在之后的教程中再详细介绍。

    6a69b10f8ddc8d0c35f7a42ec3d71d3f.gif

    总结

    1、学习和模仿超级马里奥角色,画出自己的角色;

    2、使用位移动画技巧,制作角色待机动画。

    完。

    展开全文
  • 安卓动画之位移动画

    2017-07-12 14:29:31
    Android动画之translate(位移动画) 上一篇文章讲了 Android的左右滑动切换,实现过程是非常简单,一些新手可能会向深入了了解Activity切换的原理,下面主要对左右滑动进行深入的探讨,并以项目中的一个...

    Android动画之translate(位移动画)

    上一篇文章讲了 Android的左右滑动切换,实现过程是非常简单,一些新手可能会向深入了了解Activity切换的原理,下面主要对左右滑动进行深入的探讨,并以项目中的一个切换效果来进一步了解。

    Activity的切换效果使用的是Android的动画效果,Android的动画在官方有相关资料:http://developer.android.com/guide/topics/graphics/animation.htmlhttp://developer.android.com/guide/topics/resources/animation-resource.html Activity的切换动画实际上是AndroidView Animation(视图动画)中的Tween Animation效果,Tween Animation分为4种动画效果,分别是:alpha (透明变化) translate(位置移动) scale(缩放) rotate(旋转), 而左右滑动切换使用的是 translate(位置移动)的效果,在下一篇我们再讨论一下 alpha (透明变化scale(缩放) rotate(旋转这三种效果,本篇只将 translate(位置移动)

    Translate动画是非常好理解,就是定义一个开始的位置和一个结束位置,定义移动时间,然后就能自动产生移动动画。Androidtranslate移动方向有 横向(X) 竖向(Y), 左右滑动使用了横向移动效果,对于竖向(Y)的位置如下:


    定义一个向上退出的动画(从位置移动位置3)和从下面进入(从位置1移动位置2)的动画定义文件如下:

    out_to_up.xml (从屏幕上面退出)

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:interpolator="@android:anim/accelerate_interpolator"

        android:fromYDelta="0%p"

        android:toYDelta="-100%p"

        android:duration="1000">

    </translate>

    in_from_down.xml (从屏幕下面进入)

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:interpolator="@android:anim/accelerate_interpolator"

        android:fromYDelta="100%p"

        android:toYDelta="0%p"

        android:duration="1000">

    </translate>

    接下来讲一讲translate的几个重要的属性:

    android:interpolator: 加速器,非常有用的属性,可以简单理解为动画的速度,可以是越来越快,也可以是越来越慢,或者是先快后忙,或者是均匀的速度等等,对于值如下:

    @android:anim/accelerate_interpolator 越来越快

    @android:anim/decelerate_interpolator:越来越慢

    @android:anim/accelerate_decelerate_interpolator:先快后慢

    @android:anim/anticipate_interpolator: 先后退一小步然后向前加速

    @android:anim/overshoot_interpolator:快速到达终点超出一小步然后回到终点

    @android:anim/anticipate_overshoot_interpolator:到达终点超出一小步然后回到终点

    @android:anim/bounce_interpolator:到达终点产生弹球效果,弹几下回到终点

    @android:anim/linear_interpolator:均匀速度。

    android:duration: 动画运行时间,定义在多次时间(ms)内完成动画

    android:startOffset: 延迟一定时间后运行动画

    fromXDelta: X轴方向开始位置,可以是%,也可以是具体的像素 具体见图

    toXDelta:   X轴方向结束位置,可以是%,也可以是具体的像素

    fromYDelta: Y轴方向开始位置,可以是%,也可以是具体的像素

    toYDelta:    Y轴方向结束位置,可以是%,也可以是具体的像素

     

    当你了解上面的属性后,你可以组合出很多有趣的位置移动效果。比如使用加速器:@android:anim/bounce_interpolator 可以产生弹球落地时的效果。

    在实际项目中需要在进行只使用“左右上下滑动”的效果可能还不够炫,希望在切换时能产生更动态的效果,比如开始切换时第1Activity先向后退一步,然后在向左方向退出屏幕。然后第2Activity紧跟后面从右边进入屏幕,到达终点时有一个动态效果。在了解了动画加速器后,大家都知道可以采用:anticipate_overshoot_interpolatoranticipate_interpolatorovershoot_interpolator这三个加速器实现左右滑动切换时启动或者结束的动态效果。

    动画文件定义如下:

    dync_out_to_left.xml 

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:duration="500"

        android:fromXDelta="0%p"

        android:interpolator="@android:anim/anticipate_interpolator"

        android:toXDelta="-100%p" />

    dync_in_from_right.xml

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:duration="500"

        android:fromXDelta="100%p"

        android:interpolator=" @android:anim/anticipate_overshoot_interpolator "

        android:toXDelta="0%p" />

    但是再使用以上动画配置,会出现以下问题:

    1.     1Activity使用anticipate_interpolator时,开始移动时先向后退一步,然后向前移动。但向后退一步步伐太大,略显夸张,实际应用中只希望退后一小小步就行了。

    2.     由于开始向后退一步,额外增加了移动时间,导致前一Activity和后一个Activity的时间不同步。

    为了解决以上问题,重新定义动态效果,将第1Activity的移动分为2个动画效果:(1)用200毫秒时间先向后移动2%p的位置 (2) 延迟200毫秒后从2%p位置向前移动到-100%p位置。 然后第2Activity从延迟200毫秒然后从102%p位置移动到0%p位置。

    动画定义如下:

    new_dync_out_to_left.xml

    <?xml version="1.0" encoding="utf-8"?>

    <set xmlns:android="http://schemas.android.com/apk/res/android"

        android:shareInterpolator="false" >

     

        <translate

            android:duration="200"

            android:fromXDelta="0%p"

            android:interpolator="@android:anim/accelerate_decelerate_interpolator"

            android:toXDelta="2%p" />

        <translate

            android:duration="1000"

            android:fromXDelta="2%p"

            android:interpolator="@android:anim/accelerate_interpolator"

            android:startOffset="200"

            android:toXDelta="-100%p" />

     

    </set>

    new_dync_in_from_right.xml

     

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:duration="1000"

        android:fromXDelta="102%p"

        android:interpolator="@android:anim/anticipate_overshoot_interpolator"

        android:startOffset="200"

        android:toXDelta="0%p" />

    配套代码:http://www.oschina.net/code/snippet_97118_7734

    展开全文
  • Android动画之translate(位移动画)

    千次阅读 2016-06-21 11:52:15
    Android动画之translate(位移动画)

    上一篇文章讲了 Android的左右滑动切换,实现过程是非常简单,一些新手可能会向深入了了解Activity切换的原理,下面主要对左右滑动进行深入的探讨,并以项目中的一个切换效果来进一步了解。

    Activity的切换效果使用的是Android的动画效果,Android的动画在官方有相关资料:http://developer.android.com/guide/topics/graphics/animation.htmlhttp://developer.android.com/guide/topics/resources/animation-resource.html Activity的切换动画实际上是AndroidView Animation(视图动画)中的Tween Animation效果,Tween Animation分为4种动画效果,分别是:alpha (透明变化) translate(位置移动) scale(缩放) rotate(旋转), 而左右滑动切换使用的是 translate(位置移动)的效果,在下一篇我们再讨论一下 alpha (透明变化scale(缩放) rotate(旋转这三种效果,本篇只将 translate(位置移动)

    Translate动画是非常好理解,就是定义一个开始的位置和一个结束位置,定义移动时间,然后就能自动产生移动动画。Androidtranslate移动方向有 横向(X) 竖向(Y), 左右滑动使用了横向移动效果,对于竖向(Y)的位置如下:


    定义一个向上退出的动画(从位置移动位置3)和从下面进入(从位置1移动位置2)的动画定义文件如下:

    out_to_up.xml (从屏幕上面退出)

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:interpolator="@android:anim/accelerate_interpolator"

        android:fromYDelta="0%p"

        android:toYDelta="-100%p"

        android:duration="1000">

    </translate>

    in_from_down.xml (从屏幕下面进入)

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:interpolator="@android:anim/accelerate_interpolator"

        android:fromYDelta="100%p"

        android:toYDelta="0%p"

        android:duration="1000">

    </translate>

    接下来讲一讲translate的几个重要的属性:

    android:interpolator: 加速器,非常有用的属性,可以简单理解为动画的速度,可以是越来越快,也可以是越来越慢,或者是先快后忙,或者是均匀的速度等等,对于值如下:

    @android:anim/accelerate_interpolator 越来越快

    @android:anim/decelerate_interpolator:越来越慢

    @android:anim/accelerate_decelerate_interpolator:先快后慢

    @android:anim/anticipate_interpolator: 先后退一小步然后向前加速

    @android:anim/overshoot_interpolator:快速到达终点超出一小步然后回到终点

    @android:anim/anticipate_overshoot_interpolator:到达终点超出一小步然后回到终点

    @android:anim/bounce_interpolator:到达终点产生弹球效果,弹几下回到终点

    @android:anim/linear_interpolator:均匀速度。

    android:duration: 动画运行时间,定义在多次时间(ms)内完成动画

    android:startOffset: 延迟一定时间后运行动画

    fromXDelta: X轴方向开始位置,可以是%,也可以是具体的像素 具体见图

    toXDelta:   X轴方向结束位置,可以是%,也可以是具体的像素

    fromYDelta: Y轴方向开始位置,可以是%,也可以是具体的像素

    toYDelta:    Y轴方向结束位置,可以是%,也可以是具体的像素

     

    当你了解上面的属性后,你可以组合出很多有趣的位置移动效果。比如使用加速器:@android:anim/bounce_interpolator 可以产生弹球落地时的效果。

    在实际项目中需要在进行只使用“左右上下滑动”的效果可能还不够炫,希望在切换时能产生更动态的效果,比如开始切换时第1Activity先向后退一步,然后在向左方向退出屏幕。然后第2Activity紧跟后面从右边进入屏幕,到达终点时有一个动态效果。在了解了动画加速器后,大家都知道可以采用:anticipate_overshoot_interpolatoranticipate_interpolatorovershoot_interpolator这三个加速器实现左右滑动切换时启动或者结束的动态效果。

    动画文件定义如下:

    dync_out_to_left.xml 

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:duration="500"

        android:fromXDelta="0%p"

        android:interpolator="@android:anim/anticipate_interpolator"

        android:toXDelta="-100%p" />

    dync_in_from_right.xml

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:duration="500"

        android:fromXDelta="100%p"

        android:interpolator=" @android:anim/anticipate_overshoot_interpolator "

        android:toXDelta="0%p" />

    但是再使用以上动画配置,会出现以下问题:

    1.     1Activity使用anticipate_interpolator时,开始移动时先向后退一步,然后向前移动。但向后退一步步伐太大,略显夸张,实际应用中只希望退后一小小步就行了。

    2.     由于开始向后退一步,额外增加了移动时间,导致前一Activity和后一个Activity的时间不同步。

    为了解决以上问题,重新定义动态效果,将第1Activity的移动分为2个动画效果:(1)用200毫秒时间先向后移动2%p的位置 (2) 延迟200毫秒后从2%p位置向前移动到-100%p位置。 然后第2Activity从延迟200毫秒然后从102%p位置移动到0%p位置。

    动画定义如下:

    new_dync_out_to_left.xml

    <?xml version="1.0" encoding="utf-8"?>

    <set xmlns:android="http://schemas.android.com/apk/res/android"

        android:shareInterpolator="false" >

     

        <translate

            android:duration="200"

            android:fromXDelta="0%p"

            android:interpolator="@android:anim/accelerate_decelerate_interpolator"

            android:toXDelta="2%p" />

        <translate

            android:duration="1000"

            android:fromXDelta="2%p"

            android:interpolator="@android:anim/accelerate_interpolator"

            android:startOffset="200"

            android:toXDelta="-100%p" />

     

    </set>

    new_dync_in_from_right.xml

     

    <?xml version="1.0" encoding="utf-8"?>

    <translate xmlns:android="http://schemas.android.com/apk/res/android"

        android:duration="1000"

        android:fromXDelta="102%p"

        android:interpolator="@android:anim/anticipate_overshoot_interpolator"

        android:startOffset="200"

        android:toXDelta="0%p" />

    配套代码:http://www.oschina.net/code/snippet_97118_7734

    展开全文
  • uv位移动画

    2017-05-15 01:06:25
    本文实现了一个简单的uv位移动画, 并对其中的一些条件进行了探索。实现步骤: 实现一个 shader, 主要是根据时间做顶点偏移。 创建一个 material, 添加 texture, texture 的 Wrapmode 为 Repeat。 创建一个 Quad...
  • 一个简单的demo,关于位移动画的,点击选择时间,选择框显示时从下向上,隐藏时从当前位置想下。另外,涉及到listview的点击效果。
  • Android 控件位移动画

    2020-05-27 14:59:24
    前面分享了一些开源动画,又是引用...这是一个位移动画,到项目中还是实用的,可以自行UI修改处理。 上代码 一、弹出动画(不管它从哪里弹出,反正就是可以上下左右弹出) private void showAnimation() { //获...
  • TranslateAnimation:位移动画同样,创建TranslateAnimation也有两种方式XML文件+Java代码Java代码方式第一种方式:XML文件+Java代码示例效果图: 语法:&lt;?xml version="1.0" encoding="utf-...
  • 上一节介绍了AlphaAnimation动画的用法,本节将介绍另一种形式的动画-TranslateAnimation(位移动画)。 public class TranslateAnimation extends Animation java.lang.Object ↳ android.view.animation....
  • 1 2 3 android:id="@+id/baseActivityLinearLayout"4 android:layout_width="fill_parent"5 android:layout_height="fill_parent"6 android:background="@drawable/base_bg"7 android:orientation="vertical" >...
  • 简单循环动画 博文链接:https://gundumw100.iteye.com/blog/1087524
  • Android项目在使用androidx或者"support:design:28.0.0"依赖时,取消BottomNavigationView大于3个item的位移动画 最近新项目要使用底部导航BottomNavigationView控件,但是在底部item大于3个的时候就会有位移动画,...
  •  Android 同时播放缩放动画和位移动画 时, 位移的路径会发生偏移.  Animation mTranslateAnimation = new TranslateAnimation(xxxxxx);// 移动参数 自己写  mTranslateAnimation.setDuration(1000);  An
  • 解决TranslateAnimation组件位移动画被遮挡问题 最近项目遇到一个新功能 是一个启动页用户选择标签的页面 图片如下 效果就是点击下面的标签会执行一个动画进入到上面的坑位中,使用的是TranslateAnimation 但是问题...
  • 对一个组件使用translate位移动画时,发现,如果这个组件属于某个容器,那么它的动画移动范围,就无法超出它的容器的边界; 而且,移动动画播放的时候,组件的移动动画还会被其它组件遮挡在下面; 我想让组件在移动...
  • unity位移动画

    2020-12-10 15:19:48
    using System.Collections; using System.Collections.Generic; using UnityEngine; public class separationAniControl : MonoBehaviour { public float f_distance;... public GameObject rock_a;...
  • android位移动画的两种实现方式

    万次阅读 2015-12-26 23:54:33
    在android开发,我们会经常使用到位移动画,一般情况下位移动画有两种实现方式,一种是直接通过java代码去实现,另外一种是通过配置文件实现动画,下面是两种动画的基本是使用方法: 纯Java代码实现: //创建...
  • Android中提供了4中动画: ... TranslateAnimation 位移动画 RotateAnimation 旋转动画 因为这次有使用到TranslateAnimation,所以这次先讲TranslateAnimation。android.view.animation 类 Trans
  • 1.打开 Flash 。按 **Ctrl+2:满画布显示。**此时画布全部显示在正中央。第一帧默认为空白关键帧,用空心小圆点表示。 2.在第 1 帧处绘制一个圆球。...3.一般做位移动画不建议使用散件,因此,用选...
  • translate 位移 动画  CSS 兼容测试:https://caniuse.com/ transform 转换属性  通过 css3 转换 我们能够对元素进行移动 缩放 转动 拉长或者拉伸 转换时元素改变形状 尺寸和位置的一种效果  transfo...
  • 偶然的机会搞了下位移动画之循环往复的动画,不多说 直接上代码! XML文件。 activity_base.xml文件 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,914
精华内容 765
关键字:

位移动画