`
wuchengyi2015106
  • 浏览: 24372 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

TextSurface实现文字呈现效果

阅读更多

TextSurface实现文字呈现效果

 

介绍:
TextSurface实现文字呈现效果,TextView字体输入的时候展示的动画效果,类似于PPT的呈现效果。
这个demo可以用在处理字幕子类的效果。

效果截图:

 

项目源码:http://www.itlanbao.com/code/20151210/10000/100685.html

代码结构如下:
首先需要TextSurface.reset()先重置一下,
其他的动画实现主要由类CookieThumperSample实现

public static void play(TextSurface textSurface, AssetManager assetManager) {

  final Typeface robotoBlack = Typeface.createFromAsset(assetManager, "fonts/Roboto-Black.ttf");
  Paint paint = new Paint();
  paint.setAntiAlias(true);
  paint.setTypeface(robotoBlack);

  Text textDaai = TextBuilder
    .create("Daai")
    .setPaint(paint)
    .setSize(64)
    .setAlpha(0)
    .setColor(Color.WHITE)
    .setPosition(Align.SURFACE_CENTER).build();

  Text textBraAnies = TextBuilder
    .create("bra Anies")
    .setPaint(paint)
    .setSize(44)
    .setAlpha(0)
    .setColor(Color.RED)
    .setPosition(Align.BOTTOM_OF, textDaai).build();

  Text textFokkenGamBra = TextBuilder
    .create(" hy's n fokken gam bra.")
    .setPaint(paint)
    .setSize(44)
    .setAlpha(0)
    .setColor(Color.RED)
    .setPosition(Align.RIGHT_OF, textBraAnies).build();

  Text textHaai = TextBuilder
    .create("Haai!!")
    .setPaint(paint)
    .setSize(74)
    .setAlpha(0)
    .setColor(Color.RED)
    .setPosition(Align.BOTTOM_OF, textFokkenGamBra).build();

  Text textDaaiAnies = TextBuilder
    .create("Daai Anies")
    .setPaint(paint)
    .setSize(44)
    .setAlpha(0)
    .setColor(Color.WHITE)
    .setPosition(Align.BOTTOM_OF | Align.CENTER_OF, textHaai).build();

  Text texThyLamInnie = TextBuilder
    .create(" hy lam innie mang ja.")
    .setPaint(paint)
    .setSize(44)
    .setAlpha(0)
    .setColor(Color.WHITE)
    .setPosition(Align.RIGHT_OF, textDaaiAnies).build();

  Text textThrowDamn = TextBuilder
    .create("Throw damn")
    .setPaint(paint)
    .setSize(44)
    .setAlpha(0)
    .setColor(Color.RED)
    .setPosition(Align.BOTTOM_OF | Align.CENTER_OF, texThyLamInnie).build();

  Text textDevilishGang = TextBuilder
    .create("devilish gang")
    .setPaint(paint)
    .setSize(44)
    .setAlpha(0)
    .setColor(Color.RED)
    .setPosition(Align.BOTTOM_OF | Align.CENTER_OF, textThrowDamn).build();

  Text textSignsInTheAir = TextBuilder
    .create("signs in the air.")
    .setPaint(paint)
    .setSize(44)
    .setAlpha(0)
    .setColor(Color.RED)
    .setPosition(Align.BOTTOM_OF | Align.CENTER_OF, textDevilishGang).build();

  textSurface.play(
    new Sequential(
      ShapeReveal.create(textDaai, 750, SideCut.show(Side.LEFT), false),
      new Parallel(ShapeReveal.create(textDaai, 600, SideCut.hide(Side.LEFT), false), new Sequential(Delay.duration(300), ShapeReveal.create(textDaai, 600, SideCut.show(Side.LEFT), false))),
      new Parallel(new TransSurface(500, textBraAnies, Pivot.CENTER), ShapeReveal.create(textBraAnies, 1300, SideCut.show(Side.LEFT), false)),
      Delay.duration(500),
      new Parallel(new TransSurface(750, textFokkenGamBra, Pivot.CENTER), Slide.showFrom(Side.LEFT, textFokkenGamBra, 750), ChangeColor.to(textFokkenGamBra, 750, Color.WHITE)),
      Delay.duration(500),
      new Parallel(TransSurface.toCenter(textHaai, 500), Rotate3D.showFromSide(textHaai, 750, Pivot.TOP)),
      new Parallel(TransSurface.toCenter(textDaaiAnies, 500), Slide.showFrom(Side.TOP, textDaaiAnies, 500)),
      new Parallel(TransSurface.toCenter(texThyLamInnie, 750), Slide.showFrom(Side.LEFT, texThyLamInnie, 500)),
      Delay.duration(500),
      new Parallel(
        new TransSurface(1500, textSignsInTheAir, Pivot.CENTER),
        new Sequential(
          new Sequential(ShapeReveal.create(textThrowDamn, 500, Circle.show(Side.CENTER, Direction.OUT), false)),
          new Sequential(ShapeReveal.create(textDevilishGang, 500, Circle.show(Side.CENTER, Direction.OUT), false)),
          new Sequential(ShapeReveal.create(textSignsInTheAir, 500, Circle.show(Side.CENTER, Direction.OUT), false))
        )
      ),
      Delay.duration(200),
      new Parallel(
        ShapeReveal.create(textThrowDamn, 1500, SideCut.hide(Side.LEFT), true),
        new Sequential(Delay.duration(250), ShapeReveal.create(textDevilishGang, 1500, SideCut.hide(Side.LEFT), true)),
        new Sequential(Delay.duration(500), ShapeReveal.create(textSignsInTheAir, 1500, SideCut.hide(Side.LEFT), true)),
        Alpha.hide(texThyLamInnie, 1500),
        Alpha.hide(textDaaiAnies, 1500)
      )
    )
  );

 }

 

1
1
分享到:
评论

相关推荐

    TextSurface实现文字呈现效果.rar

    这个压缩包"TextSurface实现文字呈现效果.rar"可能包含了TextSurface库的源代码,一个介绍性文本文件以及一个链接到更多源码的URL。 TextSurface的核心特性在于它的高效渲染机制,这主要体现在以下几个方面: 1. *...

    TextSurface.zip

    1. **文本动画库**:TextSurface集成了多种文本动画效果,如平移、旋转、淡入淡出、弹跳等,开发者可以通过简单的配置实现丰富的视觉效果。 2. **自定义动画**:除了预设的动画效果外,TextSurface还支持自定义动画...

    TextSurface

    TextSurface就是这样一款专为Android开发者设计的框架,它提供了丰富的功能,帮助开发者轻松实现各种文字效果的动画。本文将深入探讨TextSurface的核心特性、使用方法以及其实现原理。 一、TextSurface概述 ...

    实现各种文字效果

    这个源码案例实现了可以支持实现各种文字效果,源码TextSurface,一个帮助你实现各种文字效果的动画框架。 使用说明: 创建 TextSurface实例或者把它添加到布局中。 使用 TextBuilder 创建一个 Text 实例,定义文字...

    SDL添加了文字显示

    标题提到的“SDL添加了文字显示”是指利用SDL的一个扩展库——SDL_ttf,实现了在SDL应用程序中动态显示Unicode文字的功能。SDL_ttf库是SDL的扩展,专门用于处理TrueType字体,使得开发者能够在程序中方便地渲染文本...

    SDL显示图片及文字

    **正文** ...结合SDL_image和SDL_ttf,我们可以轻松地实现图片和文字的显示,从而构建出功能丰富的2D应用程序。通过不断学习和实践,你可以掌握更多高级技巧,如动画制作、粒子效果以及更复杂的图形渲染。

    SDL游戏开发教程05(显示文字和其他格式的图片)

    在SDL中,这通常通过使用TTF(TrueType Font)库来实现。首先,确保你安装了SDL_ttf库,并在代码中包含相应的头文件: ```cpp #include #include ``` 为了显示文字,你需要执行以下步骤: 1. 初始化TTF库:`TTF...

    Android代码-一个小型的动画库,让你的文字有个漂亮的显示(比如:家家,我要和你生猴子之类)

    TextSurface A little animation framework which could help you to show message in a nice looking way. Usage Create TextSurface instance or add it in your layout. Create Text instancies with ...

    pygame游戏之旅 游戏中添加显示文字

    在给定的代码示例中,我们看到了一个简单的过程来实现这一功能。以下是详细的步骤和知识点解释: 首先,我们需要导入必要的库,包括`pygame`和`time`。`pygame`是Python的一个游戏开发库,提供了丰富的图形、音频和...

    SDL2.0 汉字

    在SDL2.0中,实现汉字的显示是一项重要的任务,特别是对于中文用户来说,能够正确地在窗口中显示汉字是程序功能完善的关键。 在VS2013环境下,我们可以利用SDL2.0的TTF(TrueType Font)模块来处理汉字的显示。首先...

    SDL2-2.26.4.zip

    5. **定时器**:可以获取系统时间,设置定时器,用于实现动画效果或控制游戏循环。 6. **窗口管理**:创建、管理和调整窗口大小,支持全屏模式和多个显示器。 **安装步骤** 在大多数平台上,可以通过包管理器安装预...

    SDL 显示中文 例程

    SDL(Simple DirectMedia Layer)是一个跨平台的多媒体库,广泛用于2D图形和音频处理,但它本身并不直接支持所有字符集,特别是中文等复杂文字系统。本例程将介绍如何在SDL中有效地显示中文。 首先,我们需要了解...

    pygame游戏之旅 如何制作游戏障碍

    #### 游戏障碍物的设计与实现 在游戏开发中,障碍物的设计不仅要考虑美观,还需要考虑其对玩家的挑战性以及对游戏整体流程的影响。在本教程中,我们将重点介绍如何在Pygame中定义、绘制和移动障碍物。 ##### 定义...

Global site tag (gtag.js) - Google Analytics