精华内容
下载资源
问答
  • vscode 非常炫酷高逼格的敲代码的效果动画
    万次阅读
    2019-08-15 17:13:18

    1.首先到搜索中 寻找  power mode 插件 直接install,

    2.找到 用户设置 seting.json 添加以下几行代码。

    “powermode.enabled”: true, //启动效果
    “powermode.presets”: “flames”, // flames 火花效果
    “powermode.enableShake”: false // 关闭代码抖动

    3.end

    更多相关内容
  • 动画代码 小程序源代码动画代码 小程序源代码动画代码 小程序源代码动画代码 小程序源代码动画代码 小程序源代码动画代码 小程序源代码动画代码 小程序源代码动画代码 小程序源代码动画代码 小...
  • 摘要:通过上一篇咱们知道了播放动画需要使用Animator,那么如何用代码控制动画呢? 洪流学堂,让你快人几步。你好,我是跟着大智学Unity的萌新,我叫小新,这几周一起来复(yu)习(xi)动画系统。 “智哥,我...

    摘要:通过上一篇咱们知道了播放动画需要使用Animator,那么如何用代码控制动画呢?

    洪流学堂,让你快人几步。你好,我是跟着大智学Unity的萌新,我叫小新,这几周一起来复(yu)习(xi)动画系统。

    “智哥,我现在做的吃鸡游戏没有人物,看着好奇怪啊,从哪能搞点人物模型呢?”

    “号外号外:本人已与百度达成合作,以后有任何问题,只要在百度中输入问题就可瞬间获得答案,方便快捷,特此公告,造福大家。”

    “智哥没看出来你这么‘牛X’啊”

    “去,你这个伸手党家伙,不过我这还真有一个角色的神器,发给你去看看吧”

    动画资源神器

    小新QQ上收到了智哥发来的链接,https://www.mixamo.com/

    小新打开,注册了一个Adobe账户登陆进去,就看到了很多人物的模型。

    人物模型选择

    选好一个人物模型,再切换到Animation,哇,这么多的动作!

    “智哥,这个简直是神器啊,有这么多现成的角色模型和动画,还竟然都是免费的”
    “哈哈,这是Adobe收购mixamo以后免费开放的,不仅仅有这些哦,这个网站还有一个强大的功能是自动绑定骨骼,如果你有一个角色想在游戏中使用,但是如果连骨骼都没有绑定的话,是没办法用骨骼动画的,也没办法将其他动画重定向到这个模型上。点右上角的UploadCharacter就可以上传自己的模型,自动绑定骨骼了!”
    “太棒了!!!”

    Mixamo详解: 【建议收藏】找不到免费的角色动画?来试试mixamo

    代码控制Animator

    “智哥,我搜集了一堆动画,就差把它们组装起来了,给我讲讲如何把这些动画跟我的操作关联起来呗?”

    “你来的真是时候,我刚好要休息一会,就给你讲讲吧。还记得之前学过的Animator么?”

    “就是那个控制动画播放的东西呗?那个不是只能用于切换动画什么的么?”

    “基本都对,不过你那个‘只’字用错了。我们在学Transition的时候,只用到了按播放时间切换动画,但是更强大的功能是按参数切换动画”

    “啊?还有这个功能呢?”

    “那当然了,我们当时把Animator类比为一个视频播放器,视频播放器在我点击下一个的时候当然要能切换到下一个视频了”

    “说的也是,那这个参数在哪设置呢”

    “打开Animator看左上角”

    “原来都没发现还有一个Parameters”

    “你没用到当然没发现了,现在你可以添加一个参数,比如人物的速度”

    “好,那我添加一个float类型的speed参数”

    “这时候比如你想让人物从静止状态切换到走路状态,就可以加一个transition,条件用speed >0了,你试试”

    “添加上了!现在我怎么才能看到效果呢?”

    “现在把场景运行起来,手动改一下那个speed的值就能看到效果了!”

    调整Animator参数.gif

    “但是现在感觉不太流畅,问题在哪呢?”

    “第一个,你这个Transition除了speed大于0这个条件,还有一个条件是Has Exit Time,就是播放完idle的动画并且speed>0才会切换到下一个动画,这个Has Exit Time得去掉。第二个,你这个两个动画都应该是循环播放吧”

    “知道了,我改掉再试试”

    “改成这样了,嘿嘿,貌似可以了。那我怎么用代码控制呢,比如说我按键盘上WASD的时候控制人物移动。”

    “使用动画系统时,有两种控制人物移动的方式:”
    1 使用动画中的位移

    • 好处是:人物的脚步会跟地面贴合,不会出现滑步的问题(人物的移动距离比步子大或者小),控制简单
    • 缺点是:比较依赖动画的制作,程序控制性不高

    2 使用代码控制人物的位移

    • 好处:可控性高
    • 缺点:容易出现滑步,控制复杂

    小新:“那我先来试试这个简单的方式吧,使用动画中的位移。”

    大智:“这种方式**需要先设置两个地方:1、物体上Animator组件的Apply Root Motion需要勾选,相当于就是把动画中的位置修改应用到物体上;2、人物的动画类型需要设置为Humanoid。**这两个地方设置好以后,再用代码去修改animator组件中的参数就行了,这个你去看文档!”

    “好嘞,我去设置一下”

    小新设置完这两个地方后,就开始去查看Animator组件的文档,怎么修改Animator Controller中的参数呢?小新在文档中寻找了半天,并没有找到相关的说明。但是找到了Unity的一篇教程,里面说到设置参数的办法是使用SetInteger、SetFloat、SetBool、SetTrigger四个方法。小新在Unity的API文档中找到了这几个方法,并记下了下面的笔记:

    SetInteger、SetFloat、SetBool、SetTrigger分别对应Paramters中的Int、Float、Bool、Trigger类型。

    SetInteger有两个重载:

    public void SetInteger(string name, int value);
    public void SetInteger(int id, int value);
    

    对于第一个重载,第一个参数类型是string,对应的是parameter中的参数名称。第二个参数是要设置的值。

    对于第二个重载,第一个参数是animator中parameter中参数的ID什么是参数的ID?

    其他SetFloat、SetBool、SetTrigger都类似,但是唯一不同的是SetFoat还有额外的两个重载方法:

    public void SetFloat(string name, float value, float dampTime, float deltaTime);
    public void SetFloat(int id, float value, float dampTime, float deltaTime);
    

    其中前两个参数和上面是类似的,不同的是后面两个参数。

    • dampTime 阻尼时间。
    • deltaTime 时间增量。
      隐隐约约感到一股神秘的力量,但是不是特别明白

    难点详解

    “大智,我看完了,但是我想考考你,嘿嘿,则呢么样?”

    “还考我?放马过来吧!”大智内心道:“你这点小技俩我还看不出来,不就是自己没看懂的地方么!”

    “听好了,第一题:bool参数和Trigger参数的区别是什么?”

    “bool参数和trigger参数很像,都是代表布尔值,但是trigger参数只能被设为true,一旦被transition使用,就会自动被设为false。”

    “回答的不错,嗯。。。”小新沉思了10秒钟

    “小样儿,就你。bool类型一般用于持续的状态,比如角色是否趴下。而trigger一般用于使用一次就会恢复的状态,比如开枪,开枪动画播放完以后,会自动恢复到之前的动作。

    “我明白了。第二题:parameter的id是什么?”

    “我们在设置parameter的时候设置的是一个字符串的名称,但是在Unity内部是有一个数字id跟它对应的,使用Animator.StringToHash这个API可以将字符串的参数名转为数字id。使用数字id的代码运行效率会稍微高一些。”

    “第三题:SetFloat的那个damp是怎么用的?”

    “damp翻译过来一般是阻尼的意思,你可以理解为缓行。这样Fload值会渐变过去,而不是一下子变成设置的Float值,这个在有些情况下很有用,比如人物的速度。玩家按下W的时候,应该是一个逐渐从0到最大速度的过程,而不应该一下从0到最大速度,这时候就可以用到damp。如果你对那两个参数还不知道怎么设置,可以看一下这个公式:”

    总结

    “看完这个公式我好像明白多了,我得再去试一试”

    “我给你简单总结一下:”

    • Animator中可以设置参数,用来控制Transition的变化
    • Has Exit Time也是transition切换的一个条件,只有transition的所有条件都满足时才会进行切换
    • 在代码中可以使用Animator类中的SetXXX方法控制参数,进而控制状态的转换。

    今日思考题

    “给你布置个思考题,实现人物的站立、走、跑的状态切换”
    “收到!我去也!”
    “收获别忘了分享出来!也别忘了分享给你学Unity的朋友,也许能够帮到他。”

    扩展阅读

    【扩展学习】洪流学堂公众号回复动画可以阅读本系列所有文章,更有视频教程等着你!


    呼~ 今天小新絮絮叨叨的真是够够的了。没讲清楚的地方欢迎评论,咱们一起探索。

    我是大智(微信:zhz11235),你的技术探路者,下次见!

    别走!点赞收藏哦!

    好,你可以走了。

    展开全文
  • Qt 旋转动画(纯代码

    千次阅读 2017-02-22 15:38:47
    * 菊花转 进度类,基于代码无需图片资源 * 作者:陈鲁勇 * 邮箱:727057301@qq.com * 创建时间:2017年2月10日16:26:48 * QT版本:5.0.2 * CSDN:http://blog.csdn.net/csnd_ayo * *******************************...

    简述

    初尝QT不甚欢喜,CSDN上有非常多的朋友在为QT做出贡献,我也愿意以主观角度来分享QT,让QT变得更好。

    该源码系作者个人撰写,使用时请尊重作者,不要随意篡改关于作者的信息。

    版权所有:CSND_Ayo,转载请注明出处:http://blog.csdn.net/csnd_ayo


    获取方式

    为了让你我都能得到提升,请您在评论区留下对我的建议,并附上您可爱的邮箱,我将给您送上源码。


    效果展示





    源码


    #ifndef CUSTOMPROGRESSINDICATOR_H
    #define CUSTOMPROGRESSINDICATOR_H
    
    #include <QWidget>
    #include <QColor>
    /*
    * 菊花转 进度类,基于代码无需图片资源
    * 作者:陈鲁勇
    * 邮箱:727057301@qq.com
    * 创建时间:2017年2月10日16:26:48
    * QT版本:5.0.2
    * CSDN:http://blog.csdn.net/csnd_ayo 
    * **************************************
    * 说明:
    *   使用前请确保在QT.pro中加入 C++11 的支持
    *
    * 示例代码:
    
        pIndicator = new CustomProgressIndicator(this);
        pIndicator->setColor(Qt::red);
        pIndicator->startAnimation();
    */
    
    class CustomProgressIndicator : public QWidget
    {
        Q_OBJECT
        Q_PROPERTY(int delay READ animationDelay WRITE setAnimationDelay)
        Q_PROPERTY(bool displayedWhenStopped READ isDisplayedWhenStopped WRITE setDisplayedWhenStopped)
        Q_PROPERTY(QColor color READ color WRITE setColor)
    public:
        CustomProgressIndicator(QWidget* parent = 0);
    
        int animationDelay() const { return delay_; }
    
        /*  动画是否正在进行中  */
        bool isAnimated () const;
    
        /*  动画完毕后,是否隐藏菊花转  */
        bool isDisplayedWhenStopped() const;
    
        /*  当前菊花转的颜色  */
        const QColor & color() const { return color_; }
    
        /*  虚函数:当前大小  */
        virtual QSize sizeHint() const;
    
        void setBackground(const QString& _icon) {
            currentPix_ = QPixmap(_icon);
        }
    signals:
        void Finished(void);
    public slots:
    
        /*  开始动画  */
        void startAnimation();
    
        /*  停止动画  */
        void stopAnimation();
    
        /*  设置菊花转的转速  */
        void setAnimationDelay(int delay);
    
        /*  动画完毕后,是否隐藏菊花转  */
        void setDisplayedWhenStopped(bool state);
    
        /*  设置菊花转颜色  */
        void setColor(const QColor & color);
    
        /*
         * 进度
         * 参数 _progress:当前进度 0 < _progress < 100
        */
        void onProgress(short _progress) { progress_ = _progress; }
    protected:
        /*  系统基类函数 */
        virtual void timerEvent(QTimerEvent * event);
        virtual void paintEvent(QPaintEvent * event);
    private:
        /*  角度  */
        unsigned int angle_;
        /*  定时器ID  */
        int timerId_;
        /*  转速  */
        int delay_;
        /*  是否隐藏  */
        bool displayedWhenStopped_;
        /*  菊花转颜色  */
        QColor color_;
        /*  进度  */
        short progress_;
        /*  背景图  */
        QPixmap currentPix_;
    };
    
    
    #endif // CUSTOMPROGRESSINDICATOR_H
    


    #include "customprogressindicator.h"
    #include <QPainter>
    
    CustomProgressIndicator::CustomProgressIndicator(QWidget* parent)
        : QWidget(parent),
          angle_(0),
          timerId_(-1),
          delay_(20),
          displayedWhenStopped_(false),
          color_(Qt::green) {
        setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
        setFocusPolicy(Qt::NoFocus);
    }
    
    bool CustomProgressIndicator::isAnimated () const {
        return (timerId_ != -1);
    }
    
    void CustomProgressIndicator::setDisplayedWhenStopped(bool state) {
        displayedWhenStopped_ = state;
    
        update();
    }
    
    bool CustomProgressIndicator::isDisplayedWhenStopped() const {
        return displayedWhenStopped_;
    }
    
    void CustomProgressIndicator::startAnimation() {
        angle_ = 0;
    
        if (timerId_ == -1) {
           timerId_ = startTimer(delay_);
        }
    }
    
    void CustomProgressIndicator::stopAnimation() {
        if (timerId_ != -1) {
            killTimer(timerId_);
        }
    
        timerId_ = -1;
    
        update();
    }
    
    void CustomProgressIndicator::setAnimationDelay(int delay) {
        if (timerId_ != -1){
            killTimer(timerId_);
        }
    
        delay_ = delay;
    
        if (timerId_ != -1){
            timerId_ = startTimer(delay_);
        }
    }
    
    void CustomProgressIndicator::setColor(const QColor & color) {
        color_ = color;
    
        update();
    }
    
    QSize CustomProgressIndicator::sizeHint() const {
        return QSize(25,25);
    }
    
    
    void CustomProgressIndicator::timerEvent(QTimerEvent * /*event*/) {
        angle_ = (angle_+30)%360;
    
        update();
    }
    
    void CustomProgressIndicator::paintEvent(QPaintEvent * /*event*/) {
        QPainter p(this);
        p.setRenderHint(QPainter::Antialiasing);
        if (!displayedWhenStopped_ && !isAnimated()) {
            p.drawPixmap(rect(),currentPix_);
            return;
        }
    
        int width = qMin(this->width(), this->height());
    
    
        int outerRadius = (width-1) >> 1;
        int innerRadius = ((width-1) >> 1)*0.38;
    
        int capsuleHeight = outerRadius - innerRadius;
        int capsuleWidth  = (width > 32 ) ? capsuleHeight *.23 : capsuleHeight *.35;
        int capsuleRadius = capsuleWidth >> 1;
    
        /* 撰写进度 */
        if (progress_ > 0 && progress_ < 100) {
            p.setPen(color_);
            p.drawText(rect(), Qt::AlignCenter, QString("%1%").arg(progress_));
        }
        else if (progress_ == 100) {
            stopAnimation();
        }
    
        for (int i=0; i<12; ++i) {
            QColor color = color_;
            color.setAlphaF(1.0f - (i/12.0f));
            p.setPen(Qt::NoPen);
            p.setBrush(color);
            p.save();
            p.translate(rect().center());
            p.rotate(angle_ - i*30.0f);
            p.drawRoundedRect(((-capsuleWidth) >> 1), -(innerRadius+capsuleHeight), capsuleWidth, capsuleHeight, capsuleRadius, capsuleRadius);
            p.restore();
        }
    }
    



    展开全文
  • html5唯美爱情表白动画网页源代码,html5唯美爱情表白动画网页源代码
  • python表白实现代码(可视化与动画版)

    万次阅读 多人点赞 2019-10-04 21:20:42
    python表白实现代码(可视化与动画版)如何优雅而又高大上地对自己的心爱女神表白了? ? ? 试试python表白的实现方式吧,是动画版的哦,保证可以如你所愿 ! ! !最终的实现效果如下: 具体实现代码如下:#1-1导入...
                          python表白实现代码(可视化与动画版)
    如何优雅而又高大上地对自己的心爱女神表白了? ? ? 试试python表白的实现方式吧,是动画版的哦,保证可以如你所愿 ! ! !
    最终的实现效果如下:



    具体实现代码如下:

    #1-1导入turtle模块进行设计
    import turtle
    import time

    #1-2画心形圆弧
    def hart_arc():
    for i in range(200):
    turtle.right(1)
    turtle.forward(2)


    def move_pen_position(x, y):
    turtle.hideturtle() # 隐藏画笔(先)
    turtle.up() # 提笔
    turtle.goto(x, y) # 移动画笔到指定起始坐标(窗口中心为0,0)
    turtle.down() # 下笔
    turtle.showturtle() # 显示画笔


    love = input("请输入表白话语:")
    signature = input("请签署你的名字:")
    date=input("请写上日期:")

    if love == '':
    love = 'I Love You'

    #1-3初始化
    turtle.setup(width=800, height=500) # 窗口(画布)大小
    turtle.color('red', 'pink') # 画笔颜色
    turtle.pensize(3) # 画笔粗细
    turtle.speed(1) # 描绘速度
    # 初始化画笔起始坐标
    move_pen_position(x=0, y=-180) # 移动画笔位置
    turtle.left(140) # 向左旋转140度

    turtle.begin_fill() # 标记背景填充位置

    #1-4画图和展示
    turtle.forward(224) # 向前移动画笔,长度为224
    # 画爱心圆弧
    hart_arc() # 左侧圆弧
    turtle.left(120) # 调整画笔角度
    hart_arc() # 右侧圆弧
    # 画心形直线( 右下方 )
    turtle.forward(224)

    turtle.end_fill() # 标记背景填充结束位置

    move_pen_position(x=70, y=160) # 移动画笔位置
    turtle.left(185) # 向左旋转180度
    turtle.circle(-110,185) # 右侧圆弧
    # 画心形直线( 右下方 )
    #turtle.left(20) # 向左旋转180度
    turtle.forward(50)
    move_pen_position(x=-180, y=-180) # 移动画笔位置
    turtle.left(180) # 向左旋转140度

    # 画心形直线( 左下方 )
    turtle.forward(600) # 向前移动画笔,长度为224

    # 在心形中写上表白话语
    move_pen_position(0,50) # 表白语位置
    turtle.hideturtle() # 隐藏画笔
    turtle.color('#CD5C5C', 'pink') # 字体颜色
    # font:设定字体、尺寸(电脑下存在的字体都可设置) align:中心对齐
    turtle.write(love, font=('Arial', 20, 'bold'), align="center")

    # 签写署名和日期
    if (signature != '') & (date != ''):
    turtle.color('red', 'pink')
    time.sleep(2)
    move_pen_position(220, -180)
    turtle.hideturtle() # 隐藏画笔
    turtle.write(signature, font=('Arial', 20), align="center")
    move_pen_position(220, -220)
    turtle.hideturtle() # 隐藏画笔
    turtle.write(date, font=('Arial', 20), align="center")

    #1-5点击窗口关闭程序
    window = turtle.Screen()
    window.exitonclick()

    整体的实现代码如下所示:



    转载于:https://www.cnblogs.com/Yanjy-OnlyOne/p/11319401.html

    展开全文
  • Unity3d动画基础
  • Unity3D之简单的帧动画 代码 博文地址:http://blog.csdn.net/midashao/article/details/8139109
  • 关于Activity跳转动画的文章已经很多了,但大都不是很完善。首先官方支持的Activity跳转动画有几种不同的实现方式,大部分文章只介绍了其中一种。具体到每一种来说,实现上是很简单,但实际使用过程中还是会有一些...
  • 爱情表白专用html5动画网页的代码

    千次下载 热门讨论 2015-08-16 20:49:43
    程序猿表白专用的html5动画特效网页,真的挺羡慕创作者的水平,有这水平可以把爱表白给想表白的人,不要以为那些鲜花是用的图片,你会发现在资源文件中没有一个图片资源,但HTML5强大的功能不能不让你惊叹,左侧的...
  • css3实现动画效果完整代码demo

    千次阅读 2019-08-06 11:02:35
    适合两张图片调整其中一个透明度,完整代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1...
  • android游戏开场动画代码

    热门讨论 2009-10-12 13:51:00
    Android平台很经典的游戏Abduction(奶牛跳高)开场动画代码
  • Unity3d脚本控制动画(开关门)代码
  • HTML 动画效果(爱心)学习必备,程序员 女朋友必备,。
  • VScode 代码特效

    千次阅读 2020-04-17 17:49:36
    今天在网上看到了一波写代码时所呈现出的一些特效,就顺便查了一下,这里给了详细的教程 一、首先进入下载商店 List item 二、安装Power mode 三、进入,设置power mode 四、配置power mode ...
  • 程序员爱情表白专用html5动画网页的代码

    千次下载 热门讨论 2015-08-13 08:48:16
    程序猿表白专用的html5动画特效网页,真的挺羡慕创作者的水平,有这水平可以把爱表白给想表白的人,不要以为那些鲜花是用的图片,你会发现在资源文件中没有一个图片资源,但HTML5强大的功能不能不让你惊叹,左侧的...
  • Android界面切换动画效果源代码

    热门讨论 2013-10-12 23:35:16
    Android界面切换动画效果源代码,如果觉得效果不理想可以自己调整X,Y值等参数。
  • Html5动画代码

    千次阅读 2017-11-29 13:01:21
    .div1{ width: 60px; height: 60px; border: 1px solid red; background-color: aqua; } .div1:hover{ transform: scale(2) rotate(30deg);; } .div2{ width: 60px;...border: 1px solid
  • Unity动画 代码加载动画,可复用

    千次阅读 2016-12-09 17:39:49
    所以我准备自己写一篇代码加载动画方案。这个是解决帧动画的,因为u3d没有播放gif的功能,有了这个神器,传入图片和总时间,就ok了。 首先我们准备一个图集,里面是播放动画的小图片。 然后创建一个sprite,放入...
  • 《C++游戏开发》笔记十一 平滑动画代码 欢迎大家阅读配套博文 http://blog.csdn.net/u011371356/article/details/9430645
  • python动画

    2014-09-07 11:06:19
    简单的pyhthon动画演示,可以了解到python是怎么进行动画代码编写
  • Unity——用代码实现序列帧动画

    千次阅读 2018-02-06 18:01:34
    序列帧动画经常用到,最...但某些情况下这种方式并不是太友好,需要靠代码的方式进行序列帧动画的实现。 代码实现序列帧动画,基本的思路是定义一个序列帧的数组/列表,根据时间的流逝来确定使用哪一帧并更新显示。
  • java代码实现的帧动画

    千次阅读 2017-12-12 19:56:24
    2、帧动画的简要代码 private ImageView bgAnimView; private AnimationDrawable mAnimationDrawable; //初始化 mAnimationDrawable = new AnimationDrawable(); bgAnimView = new ImageV
  • 30个免费的CSS3动画片段代码

    千次阅读 多人点赞 2018-02-15 18:36:40
    CSS3动画其实不算复杂,比JS简单得多,今天我们整理自CODEPEN上的一些好看的CSS3动画片段,从这些案例中设计师可以从中学习,并了解一些新的代码写法,又或者获取一些动画灵感也是不错的哦。以下为CSS3动画案例整理...
  • android属性动画和view动画区别的测试代码,详见:http://blog.csdn.net/yanzi1225627/article/details/47850471
  • Unity代码修改模型动画属性

    千次阅读 2019-11-01 17:22:27
    如下图示属性,需要批量通过代码修改 ModelImporter modelImporter = AssetImporter.GetAtPath(assetPath) as ModelImporter; ModelImporterClipAnimation tempClip = modelImporter.defaultCli...
  • flash鼠标跟随动画的源代码,对于制作flash特效很有帮助。
  • 一:如何兼容使用龙骨动画 请参考...二:如何代码创建一个龙骨动画 //龙骨数据 public UnityDragonBonesData dragonBoneData; void Start() { //将UnityDragonBone
  • Unity3D控制动画播放

    千次阅读 2016-05-02 13:22:26
      用Unity3D也算是好久了,但是每次做项目总还是能学到新的东西。这次做一个TPS的项目就...解决方法其实是很简单,但由于对于动画资源的了解不足导致问题不断,最后是彻彻底底的研究了一遍Unity3D的动画系统(Le
  • using UnityEngine; using System.Collections; public class AnimationManager : ... /// 创建动画动画控制委托,后面创建播放动画方法,然后就调用就可以直接用委托的对象来调用 /// 例:animationHandler = x...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 447,361
精华内容 178,944
关键字:

代码动画