基于两种思维方式的文字动画: 1.将每个字按照给定的时间逐个绘制; 2.在label上添加一个挡板
2023-04-27 08:45:32 63KB iOS文字动画
1
html5 svg打开盒子爆炸动画特效
2023-04-24 11:43:19 72KB html5  svg 爆炸动画
1
《Android开发艺术探索》是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。《Android开发艺术探索》从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层开发过程,融会贯通,介绍一些比较深入的知识点;第三,介绍一些核心技术和Android的性能优化思想。 《Android开发艺术探索》侧重于Android知识的体系化和系统工作机制的分析,通过《Android开发艺术探索》的学习可以极大地提高开发者的Android技术水平,从而更加高效地成为高级开发者。而对于高级开发者来说,仍然可以从《Android开发艺术探索》的知识体系中获益。 全书目录 ------------------------------------------------------------------- 第1章 Activity的生命周期和启动模式 / 1   1.1 Activity的生命周期全面分析 / 1   1.1.1 典型情况下的生命周期分析 / 2   1.1.2 异常情况下的生命周期分析 / 8   1.2 Activity的启动模式 / 16   1.2.1 Activity的LaunchMode / 16   1.2.2 Activity的Flags / 27   1.3 IntentFilter的匹配规则 / 28   第2章 IPC机制 / 35   2.1 Android IPC简介 / 35   2.2 Android中的多进程模式 / 36   2.2.1 开启多进程模式 / 36   2.2.2 多进程模式的运行机制 / 39   2.3 IPC基础概念介绍 / 42   2.3.1 Serializable接口 / 42   2.3.2 Parcelable接口 / 45   2.3.3 Binder / 47   2.4 Android中的IPC方式 / 61   2.4.1 使用Bundle / 61   2.4.2 使用文件共享 / 62   2.4.3 使用Messenger / 65   2.4.4 使用AIDL / 71   2.4.5 使用ContentProvider / 91   2.4.6 使用Socket / 103   2.5 Binder连接池 / 112   2.6 选用合适的IPC方式 / 121   第3章 View的事件体系 / 122   3.1 View基础知识 / 122   3.1.1 什么是View / 123   3.1.2 View的位置参数 / 123   3.1.3 MotionEvent和TouchSlop / 125   3.1.4 VelocityTracker、GestureDetector和Scroller / 126   3.2 View的滑动 / 129   3.2.1 使用scrollTo/scrollBy / 129   3.2.2 使用动画 / 131   3.2.3 改变布局参数 / 133   3.2.4 各种滑动方式的对比 / 133   3.3 弹性滑动 / 135   3.3.1 使用Scroller / 136   3.3.2 通过动画 / 138   3.3.3 使用延时策略 / 139   3.4 View的事件分发机制 / 140   3.4.1 点击事件的传递规则 / 140   3.4.2 事件分发的源码解析 / 144   3.5 View的滑动冲突 / 154   3.5.1 常见的滑动冲突场景 / 155   3.5.2 滑动冲突的处理规则 / 156   3.5.3 滑动冲突的解决方式 / 157   第4章 View的工作原理 / 174   4.1 初识ViewRoot和DecorView / 174   4.2 理解MeasureSpec / 177   4.2.1 MeasureSpec / 177   4.2.2 MeasureSpec和LayoutParams的对应关系 / 178   4.3 View的工作流程 / 183   4.3.1 measure过程 / 183   4.3.2 layout过程 / 193   4.3.3 draw过程 / 197   4.4 自定义View / 199   4.4.1 自定义View的分类 / 200   4.4.2 自定义View须知 / 201   4.4.3 自定义View示例 / 202   4.4.4 自定义View的思想 / 217   第5章 理解RemoteViews / 218   5.1 RemoteViews的应用 / 218   5.1.1 RemoteViews在通知栏上的应用 / 219   5.1.2 RemoteViews在桌面小部件上的应用 / 221   5.1.3 PendingIntent概述 / 228   5.2 RemoteViews的内部机制 / 230   5.3 RemoteViews的意义 / 239   第6章 Android的Drawable / 243   6.1 Drawable简介 / 243   6.2 Drawable的分类 / 244   6.2.1 BitmapDrawable / 244   6.2.2 ShapeDrawable / 247   6.2.3 LayerDrawable / 251   6.2.4 StateListDrawable / 253   6.2.5 LevelListDrawable / 255   6.2.6 TransitionDrawable / 256   6.2.7 InsetDrawable / 257   6.2.8 ScaleDrawable / 258   6.2.9 ClipDrawable / 260   6.3 自定义Drawable / 262   第7章 Android动画深入分析 / 265   7.1 View动画 / 265   7.1.1 View动画的种类 / 265   7.1.2 自定义View动画 / 270   7.1.3 帧动画 / 272   7.2 View动画的特殊使用场景 / 273   7.2.1 LayoutAnimation / 273   7.2.2 Activity的切换效果 / 275   7.3 属性动画 / 276   7.3.1 使用属性动画 / 276   7.3.2 理解插值器和估值器 / 280   7.3.3 属性动画的监听器 / 282   7.3.4 对任意属性做动画 / 282   7.3.5 属性动画的工作原理 / 288   7.4 使用动画的注意事项 / 292   第8章 理解Window和WindowManager / 294   8.1 Window和WindowManager / 294   8.2 Window的内部机制 / 297   8.2.1 Window的添加过程 / 298   8.2.2 Window的删除过程 / 301   8.2.3 Window的更新过程 / 303   8.3 Window的创建过程 / 304   8.3.1 Activity的Window创建过程 / 304   8.3.2 Dialog的Window创建过程 / 308   8.3.3 Toast的Window创建过程 / 311   第9章 四大组件的工作过程 / 316   9.1 四大组件的运行状态 / 316   9.2 Activity的工作过程 / 318   9.3 Service的工作过程 / 336   9.3.1 Service的启动过程 / 336   9.3.2 Service的绑定过程 / 344   9.4 BroadcastReceiver的工作过程 / 352   9.4.1 广播的注册过程 / 353   9.4.2 广播的发送和接收过程 / 356   9.5 ContentProvider的工作过程 / 362   第10章 Android的消息机制 / 372   10.1 Android的消息机制概述 / 373   10.2 Android的消息机制分析 / 375   10.2.1 ThreadLocal的工作原理 / 375   10.2.2 消息队列的工作原理 / 380   10.2.3 Looper的工作原理 / 383   10.2.4 Handler的工作原理 / 385   10.3 主线程的消息循环 / 389   第11章 Android的线程和线程池 / 391   11.1 主线程和子线程 / 392   11.2 Android中的线程形态 / 392   11.2.1 AsyncTask / 392   11.2.2 AsyncTask的工作原理 / 395   11.2.3 HandlerThread / 402   11.2.4 IntentService / 403   11.3 Android中的线程池 / 406   11.3.1 ThreadPoolExecutor / 407   11.3.2 线程池的分类 / 410   第12章 Bitmap的加载和Cache / 413   12.1 Bitmap的高效加载 / 414   12.2 Android中的缓存策略 / 417   12.2.1 LruCache / 418   12.2.2 DiskLruCache / 419   12.2.3 ImageLoader的实现 / 424   12.3 ImageLoader的使用 / 441   12.3.1 照片墙效果 / 441   12.3.2 优化列表的卡顿现象 / 446   第13章 综合技术 / 448   13.1 使用CrashHandler来获取应用的crash信息 / 449   13.2 使用multidex来解决方法数越界 / 455   13.3 Android的动态加载技术 / 463   13.4 反编译初步 / 469   13.4.1 使用dex2jar和jd-gui反编译apk / 470   13.4.2 使用apktool对apk进行二次打包 / 470   第14章 JNI和NDK编程 / 473   14.1 JNI的开发流程 / 474   14.2 NDK的开发流程 / 478   14.3 JNI的数据类型和类型签名 / 484   14.4 JNI调用Java方法的流程 / 486   第15章 Android性能优化 / 489   15.1 Android的性能优化方法 / 490   15.1.1 布局优化 / 490   15.1.2 绘制优化 / 493   15.1.3 内存泄露优化 / 493   15.1.4 响应速度优化和ANR日志分析 / 496   15.1.5 ListView和Bitmap优化 / 501   15.1.6 线程优化 / 501   15.1.7 一些性能优化建议 / 501   15.2 内存泄露分析之MAT工具 / 502   15.3 提高程序的可维护性 / 506
2023-04-23 17:08:28 173.12MB Android 自定义View 动画
1
ESP8266的LED动画库 有一个不错的webgui可以选择和模拟led动画。 在浏览器中使用javascript创建网络动画,然后将其提交给具有实际ledstrip的ESP8266。 我们的目标是创建一个带有动画的庞大库。 有关演示,请访问: : 支持的灯带 大多数FastLED led灯带: : 大多数NEOpixelbus led灯带: : 对于大多数SPI控制的灯条,您最好使用FastLED。 但是,诸如WS2812b之类的串行控制条存在时序问题。 在这种情况下,您应该使用NeoPixelBus库。 (与WS2812b配合使用效果很好) NeoPixelBus使用各种硬件技巧(DMA,UARTS)来创建更流畅,更快速的LED更新。 (但它作为库的便携性较差) 如何 1.硬件 建立像这样的东西: 您可以跳过晶体管,而只需将绿色接地即可为ATX电源供电。 (或
2023-04-21 10:31:55 781KB C++
1
openlayes + vue 最新版本 实现 轨迹移动动画 下载前请移步博客地址观看效果:https://blog.csdn.net/KK_bluebule/article/details/126847213 里面有详细说明
2023-04-20 10:48:47 12KB openlayers 移动轨迹
1
1. CameraFade(摄像机的渐隐) 其中Camera或者场景的东西并没有消失,只是在屏幕上贴了一张贴图 首先,要用到摄像机的渐隐/显功能的话,必须调用CameraFadeAdd()函数,来添加背景图片,不然在运行时会包错。 下面来讲解一下CameraFade里面需要用到的几个函数 1) CameraFadeAdd() //当不传参的时候,会默认一个黑色的背景 CameraFadeAdd(Texture2D texture) //摄像机视图渐隐后显示texture CameraFadeAdd(Texture2D texture,int depth) //同上,depth的作用暂时不知道,猜测与分层有关,可能类似PS中的图层 2)CameraFadeDepth(int depth) //改变刚才texture的depth 3)CameraFadeDestroy() //移除并摧毁 4)CameraFadeTo(float amount,float time) 从当前视图转换到前面设置的视图(texture) //amount透明度,介于0~1之间。等于1 时Texture完全覆盖Camera视图 //time是达成该效果需要多少秒 CameraFadeTo(Hashtable args) //用哈希表可以设置更详细的内容 此函数的哈希表key有:name,amount,time,delay,easetype,looptype,onstart等,KEY作用以及值参考提供的EXCEL文档中的HASHTABLE项 5)CameraFadeFrom(float amount,float time) CameraFadeTo(Hashtable args) //从前面设置的视图(texture)转换到当前视图,参数参考CameraFadeTo 6)CameraTexture(Color color) //创建一个单色的用于CameraFade的texture2d 2. Audio音频 同CameraFade一样,itween中对音频的控制也并没有结束音频的播放,而是控制的音频的音量(volume)和音调(pitch)。音频文件赋值到某个GO上,将GO给函数传参 1)AudioTo(GameObject target, float volume, float pitch, float time) //target为挂载音频的对象,volume/pitch为最终要达到的音量/音调(volume的值为0~1),达到目的所需的时间 AudioTo(GameObject target, Hashtable args) //hashtab参数:name,audiosource,volume,pitch,time,delay,easetype,looptype,onstart等 其中Audiosource是你挂载音频的物体 2)AudioFrom(GameObject target, float volume, float pitch, float time) AudioFrom(GameObject target, Hashtable args) 这个就不详解了,就一个FROM和TO的区别,参数都一样 3)AudioUpdate(GameObject target, float volume, float pitch, float time) AudioUpdate(GameObject target, Hashtable args) a)这个函数主要用在那种会循环调用的函数里面,比如系统的Update()函数,它会不断的降低音量音调来接近你设置的那个值,降低那个差值会递减。 b)这里需要注意的是,即使使用hashtable也只有以下这几个参数: audiosource,volume,pitch,time 3. Color(颜色) 函数类似上面的audio,具体参数解析,可以参考excel文档中的color hashtable 函数有以下几个: 1)ColorFrom(GameObject target, Hashtable args) ColorFrom(GameObject target, Color color, float time) 2)ColorTo(GameObject target, Hashtable args) ColorTo(GameObject target, Color color, float time) 3)ColorUpdate(GameObject target, Color color, float time) ColorUpdate(GameObject target, Hashtable args) 在这里会引入一个比较特别的新的参数,NamedValueColor,这是一个枚举变量,有一下几个值:_Color,_SpecColor,_Emission,_ReflectColor具体意义可以参考EXCEL 文件 4. Draw(画线)的几个函数区别 DrawLine(Vector3[] path) DrawLine(Vector3[] path, Color color) DrawLine(Transform[] path) DrawLine(Transform[] path,Color color) DrawLineGizmos DrawLineHandles DrawPath DrawPathGizmos DrawPathHandles PathLength //返回路径长度 这些函数必须放在OnDrawGizmos()里面使用。OnDrawGizmos()和Start()一样直接放在脚本类内部的最外层。DrawPath的效果是在编辑器内部可以看到,但是运行时没有的 每个函数的参数和DrawLine()一样,就不一一列举了。 其中DrawLine是画直线而DrawPath是画曲线路径,也是物体移动的实际路径。 函数以Gizmos结尾的和没有的效果一样,而以Handles结尾的暂时有一个不兼容的问题,不能用,这样算下来,这几个函数里面有用的也就三个: DrawLine() DrawPath() PathLength() 在这里还有一个函数,用于给你的路径上的画一个线圈,方便观察 Gizmos.DrawWireSphere(Vector3 position,float radius); //参数一为位置,参数二为半径 效果如图: 5. 物体渐隐(FadeTo,FadeFrom,FadeUpdate) 主要是对物体的alpha通道值进行改变,使物体逐渐透明。 这里要注意的是,需要改了shader参数,这个效果才会生效。首先你给物体添加一个Material后,选中物体,查看inspector视图,在Material处你会看到一个shader选项,点击选择transparant->Diffuse 6. 物体朝向(LookFrom,LookTo,LookUpdate) 1)LookFrom(GameObject target, Vector3 looktargetposition, float time) LookFrom(GameObject target, Hashtable args) 2)LookTo(GameObject target, Vector3 looktargetposition, float time) LookTo(GameObject target, Hashtable args) 前两个函数的哈希表参数如下: name,looktarget,axis,time,speed,delay,easetype,looptype,onstart等,具体的可以参考EXCEL文件 3)LookUpdate(GameObject target, Hashtable args) LookUpdate(GameObject target, Vector3 looktargetposition, float time) 用于循环函数,如Update()中,使物体一直朝向looktargetposition, 7. 移动(Move*) 1)MoveAdd(GameObject target, Vector3 amount, float time) MoveAdd(GameObject target, Hashtable args) 2)MoveBy(GameObject target, Vector3 amount, float time) MoveBy(GameObject target, Hashtable args) 3)MoveFrom(GameObject target, Vector3 position, float time) MoveFrom(GameObject target, Hashtable args) 4)MoveTo(GameObject target, Vector3 position, float time) MoveTo(GameObject target, Hashtable args) 5)MoveUpdate(GameObject target, Vector3 position, float time) MoveUpdate(GameObject target, Hashtable args) 这几个函数的不使用哈希表作为参数的时候没有区别,但是当引入哈希表的时候,movefrom和moveto可以根据一个vector3序列(path)进行运动,而moveadd和moveby只能点对点运动,moveby和moveadd这两个函数经过测试,我表示他们没区别,当然要是你发现他们之间的区别的时候,记得联系我告诉我哦,大家相互学习嘛。Moveupdate和其他**update原理一样,就不讲了,具体的参数也都比较好理解,哈希表参数可以参考我的EXCEL文档 Moveupdate的哈希表参数只有: position,x,y,z,orienttopath,looktarget,looktime,axis,islocal,time (PS:参数之间有的是不能同时为真的哦,比如orienttopath和looktarget) 8. 暂停itween(Pause) 当某itween被赋予“ignoreTimeScale”时,无法暂停 函数比较简单,我就直接贴在下面了: Pause(GameObject target) //暂停gameobject上的所有itween Pause(GameObject target, bool includechildren) //暂停gameobject上的所有itween,是否包括孩子 Pause(GameObject target, string type) //暂停gameobject上的,某个类型的所有itween Pause(GameObject target, string type, bool includechildren) //暂停gameobject上的,某个类型的所有itween,是否包括孩子 Pause() //暂停场景中的所有itween 9. Resume继续 就和上面的暂停一个样,就不详细讲了 Resume(GameObject target) Resume(GameObject target, bool includechildren) Resume(GameObject target, string type) Resume(GameObject target, string type, bool includechildren) Resume() 10. Stop停止 就和上面的暂停一个样,就不详细讲了 Stop() Stop(string type) Stop(GameObject target) Stop(GameObject target, bool includechildren) Stop(GameObject target, string type) Stop(GameObject target, string type, bool includechildren) 11. StopByName根据名字停止 StopByName(string name) 12. 外力击打效果(PunchPosition,PunchRotation,PunchScale) 用于模拟物体受外力后,改变位置,旋转,大小的效果。 PunchPosition(GameObject target, Vector3 amount, float time) PunchPosition(GameObject target, Hashtable args) PunchRotation(GameObject target, Vector3 amount, float time) PunchRotation(GameObject target, Hashtable args) PunchScale(GameObject target, Vector3 amount, float time) PunchScale(GameObject target, Hashtable args) 这几个函数没有引入新的哈希表参数,就不详细讲解了 13. PutOnPath 把物体放到某路径的百分之几的位置 PutOnPath(GameObject target, Vector3[] path, float percent) PutOnPath(GameObject target, Transform[] path, float percent) PutOnPath(Transform target, Vector3[] path, float percent) PutOnPath(Transform target, Transform[] path, float percent) 14. PointOnPath 返回一个在路径上百分之几的位置的vector3 position PointOnPath(Transform[] path, float percent) PointOnPath(Vector3[] path, float percent) 15. RectUpdade RectUpdate(Rect currentValue, Rect targetValue, float speed) : Rect 具有返回值 这东西,暂时没搞懂怎么用,反正效果就是一个矩形,在给出的值之间不停的变换位置和大小 16. 旋转(Rotate**) 根据移动(Move**)的函数推理一下就懂了,相信你的能力 RotateAdd(GameObject target, Vector3 amount, float time) RotateAdd(GameObject target, Hashtable args) RotateBy(GameObject target, Vector3 amount, float time) RotateBy(GameObject target, Hashtable args) RotateFrom(GameObject target, Vector3 rotation, float time) RotateFrom(GameObject target, Hashtable args) RotateTo(GameObject target, Vector3 rotation, float time) RotateTo(GameObject target, Hashtable args) RotateUpdate(GameObject target, Hashtable args) RotateUpdate(GameObject target, Vector3 rotation, float time) 17. 规模(Scale**) 根据移动(Move**)的函数推理一下就懂了,相信你的能力 ScaleAdd(GameObject target, Vector3 amount, float time) ScaleAdd(GameObject target, Hashtable args) ScaleBy(GameObject target, Vector3 amount, float time) ScaleBy(GameObject target, Hashtable args) ScaleFrom(GameObject target, Vector3 scale, float time) ScaleFrom(GameObject target, Hashtable args) ScaleTo(GameObject target, Vector3 scale, float time) ScaleTo(GameObject target, Hashtable args) ScaleUpdate(GameObject target, Vector3 scale, float time) ScaleUpdate(GameObject target, Hashtable args) 18. 晃动(Shake**) 根据你给的参数进行位置旋转大小的晃动,比较特别的是,这个晃动会逐步减小归于平静。看了前面那些函数的参数作用,相信这个也不是问题了: ShakePosition(GameObject target, Vector3 amount, float time) ShakePosition(GameObject target, Hashtable args) ShakeRotation(GameObject target, Vector3 amount, float time) ShakeRotation(GameObject target, Hashtable args) ShakeScale(GameObject target, Vector3 amount, float time) ShakeScale(GameObject target, Hashtable args)
2023-04-19 13:56:33 4KB 动画
1
代码简介:jQuery点击按钮弹出窗口动画特效是一款点击事件弹出窗口特效下载。
1
android studio 自定义button边框,角度,渐变颜色按下时改变样式, 以及基础动画,为image view添加旋转,下移,渐变等样式,使用timer handler button进行控制。
2023-04-17 19:34:13 16.28MB android butt RotateAnimat
1
jQuery网页气泡动态背景特效,简单实现,引用一个js即可,非常方便,自己下载下来看吧,还可以,描述要这么多字
2023-04-15 16:17:24 36KB html5 背景 动画
1
针对快速成型过程仿真技术,开发了一种实时仿真软件。利用OpenGL三维图形绘制和交互能力,结合Visual C++事件处理程序,模拟了零件快速成型制作过程,实现了具有真实感的图形场景和连续三维动画仿真快速成型过程。介绍了实时仿真动画软件开发步骤,给出了一个成型制作实例。
1