动画

[开发ing] Unity项目 - Hero英雄

旧巷老猫 提交于 2019-12-04 15:52:53
目录 游戏原型 项目演示 绘图资源 代码实现 技术探讨 参考来源 游戏原型 游戏介绍:这是一款横版类魂游戏,玩家将操控Hero,在诸神黄昏的墓地中,挑战源源不断的敌人,以及近乎无敌的强大boss 灵感来源:源自itch中小游戏 grave - uheartbeast ,区别于它无尽模式刷怪积分排名模式,在沿用其美术风格同时,我另加入操作性更好的角色Hero,以及更加强大、复杂多变的Boss,使战斗不仅仅局限于地面。此外b站UP主吾名白鼯的 迪亚波罗boss战 也给与了我很多灵感 操作指南: 移动:AD 跳跃:W + Space 滑铲躲避:S + Space 攻击:鼠标左键 项目演示 Github项目地址: Hero - SouthBegonia 游戏试玩下载(提取码:wekp): 绘图资源 场景:背景层采用视差滚动搭建,地面采用Tilemap绘制 角色:Hero、Boss、多简单敌人 UI:玩家血量、Boss血量、击杀数 代码实现 游戏逻辑 事件消息 UI交互 场景切换 技术探讨 多连击的实现 本例中的Hero攻击动作分为地面三连击和空中三连击,实现多连击的过渡,关键在于 动画判定、切换条件、切换时机 动画判定 :判定当前动画是哪个,进行了多少 //创建动画机状态信息器 private AnimatorStateInfo stateInfo; //Update内更新取得当前动画信息

项目遇到的问题

人走茶凉 提交于 2019-12-04 15:06:47
postdelayed方法:延迟加载计时器。 保留两位小数 关于dialogFragment中的一些细节问题: 1.关于view中控件绑定初始化,必须在onViewCreated中初始化 2.关于宽高问题:xml文件中的布局每一个都设置top,因此高度已经固定。仅需在dialogfragment文件中的onResume()/onStart()方法中设置对应的宽度即可。 3.onCreateView中设置透明背景色 dialog.window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))4.对每一个getdialog,getdialog.getWindow都需要判空,防止空指针5.所有用到glide第三方框架的部分,都写到ImageLoaderUtils中(以后如果换框架方便)6.布局中,每个都用到了 android:layout_gravity="center"直接在父布局中写一个就可以 7.关于进出动画效果,我们自己的DialogUtils中已经定义了,setDIalogWindow中为动画的出现与消失动画 来源: https://www.cnblogs.com/acg88688/p/11870586.html

css3D动画

戏子无情 提交于 2019-12-04 15:06:42
css3D动画 前言 最近玩了玩用css来构建3D效果,写了几个demo,所以博客总结一下。 在阅读这篇博客之前,请先自行了解一下css 3D的属性,例如:transform-style,transform-origin,transform, perspective。 写一个简单的立方体 1、我们先用css实现一个长方体,一个长方体有6个边,我们写6个li,并用一个ul包裹起来,根据我写3D动画的经验,最好有一个父元素来包裹 <div class="parent"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> </div> 2、先给.parent设置宽高,并且给他设置视距和基点位置。 .parent{ width: 800px; height: 400px; border: 1px solid #000; margin: 0 auto; perspective: 2000px; perspective-origin: -40% -80%; background: #000; } 3、给ul设置宽高以及preserve-3d属性保留子元素3d转换,子元素li全部绝对定位 ul{ width: 50px; position: relative; margin: 100px

Android动画效果 translate、scale、alpha、rotate

橙三吉。 提交于 2019-12-04 13:50:28
Android的动画效果分为两种,一种是tweened animation(补间动画),第二种是frame by frame animation。 一般我们用的是第一种。补间动画又分为AlphaAnimation,透明度转换 RotateAnimation,旋转转换 ScaleAnimation,缩放转换 TranslateAnimation 位置转换(移动)。 动画效果在anim目录下的xml文件中定义,在程序中用AnimationUtils.loadAnimation(Context context,int ResourcesId)载入成Animation对象,在需要显示动画效果时,执行需要动画的View的startAnimation方法,传入Animation,即可。切换Activity也可以应用动画效果,在startActivity方法后,执行overridePendingTransition方法,两个参数分别是切换前的动画效果,切换后的动画效果,下面的例子中传入的是两个alpha动画,以实现切换Activity时淡出淡入,渐隐渐现效果。 1.淡出效果 <?xml version = "1.0" encoding = "utf-8" ?> <set xmlns:android = "http://schemas.android.com/apk/res/android" >

css3 transform做动画

删除回忆录丶 提交于 2019-12-04 13:21:36
css3 transform做动画 第一种用关键帧 这里就不说了 就说第二种方法用 transition属性 ps:1jquery anim不支持transform动画 但css还是支。 2 css3关键帧就是不能动态修改关键帧属性 所以采用这个。 <pre> <img class="p1_wz1"src="{$yuming}/images/1/p1_wz1.jpg" /> .p1_wz1{ width: 2.3rem; position: absolute; left: 41.6%; top: 4.2rem; -webkit-transition: all 2s ease-in-out; -moz-transition: all 2s ease-in-out; -o-transition: all 2s ease-in-out; transition: all 2s ease-in-out; } </pre> 然后运行下如下代码 <pre> $(".p1_wz1").css({"-webkit-transform":"rotate(260deg)"}); </pre> 马上就旋转了起来 进度条可以参考这个方法来做 来源: https://www.cnblogs.com/newmiracle/p/11864385.html

过渡---CSS3

风流意气都作罢 提交于 2019-12-04 10:36:14
过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。 过渡动画: 是从一个状态 渐渐的过渡到另外一个状态 帧动画:通过一帧一帧的画面按照固定顺序和速度播放。如电影胶片 在CSS3里使用transition可以实现补间动画(过渡效果),并且当前元素只要有“属性”发生变化时即存在两种状态(我们用A和B代指),就可以实现平滑的过渡,为了方便演示采用hover切换两种状态,但是并不仅仅局限于hover状态来实现过渡。 语法格式: transition: 要过渡的属性 花费时间 运动曲线 何时开始; 如果有多组属性变化,还是用逗号隔开。 属性 描述 CSS transition 简写属性,用于在一个属性中设置四个过渡属性。 3 transition-property 规定应用过渡的 CSS 属性的名称。 3 transition-duration 定义过渡效果花费的时间。默认是 0。 3 transition-timing-function 规定过渡效果的时间曲线。默认是 "ease"。 3 transition-delay 规定过渡效果何时开始。默认是 0。 3 如果想要所有的属性都变化过渡, 写一个all 就可以 transition-duration

使用cocos studio制作动画

风格不统一 提交于 2019-12-04 10:35:23
概述 虽然触控不维护cocos studio了,但是很多人却还在使用着,比如我们公司就还用着,因为需要做动画。但是我不会,只会代码去写动画,太费时间了有没有啊,所以就决定去研究下怎么用编辑器去做动画了。现在把过程记录下来,以便日后复习。 动画只是简单的移动、旋转淡入淡出等简单的动画,创建步奏如下: 首先新建一个节点,见下图: 拖一个Text控件到我们刚创建的节点上面。然后我们就可切入正题开始做动画了。 点击“+”号创建一个动画 点击“+”后会弹出一个对话框,如下 动画创建好了,我们可以开始编辑动画了。这里我们使用自动记录动画的功能这样比较方便。按钮在这里啦 选择“开始记录动画”以后我们就可以开始编辑动画效果了。这里我们就让文字旋转360°吧。 (1)首先第一帧不用管,直接插入关键帧就好了。 (2)将插入位置移动到下一帧,然后修改旋转属性为“90°” 重复循环这一步骤,直到Text文字变换回到开始位置(0°) 取消勾选“开始记录动画”,到这里旋转动画就完成了。我们可以点击播放按钮看看效果。 有人肯定会问,那我们开始创建动画的时候填的名字有什么用呢。哈哈,不用急我的理解是当我们有多个动画的时候,名字就可以派上用场了。举个例子,有个角色有三个动画分别是“run”、“walk”和“attack”。我们在制作的时候就可以这么去做了。 (1)0-20帧我们制作“run”的动画,动画的名字就叫做

requestAnimationFrame

爷,独闯天下 提交于 2019-12-04 06:08:00
实现动画效果的方法比较多,Javascript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中的 canvas 也可以实现。除此之外,html5 还提供一个专门用于请求动画的API,那就是 requestAnimationFrame,顾名思义就是 请求动画帧。 屏幕刷新频率: 屏幕每秒出现图像的次数。普通笔记本为60Hz 动画原理: 计算机每16.7ms刷新一次,由于人眼的视觉停留,所以看起来是流畅的移动。 setTimeout: 通过设定间隔时间来不断改变图像位置,达到动画效果。但是容易出现卡顿、抖动的现象;原因是:1、settimeout任务被放入异步队列,只有当主线程任务执行完后才会执行队列中的任务,因此实际执行时间总是比设定时间要晚;2、settimeout的固定时间间隔不一定与屏幕刷新时间相同,会引起丢帧。 requestAnimationFrame: 优势:由系统决定回调函数的执行时机。60Hz的刷新频率,那么每次刷新的间隔中会执行一次回调函数,不会引起丢帧,不会卡顿 使用: var progress = 0; //回调函数 function render() { progress += 1; //修改图像的位置 if (progress < 100) { //在动画没有结束前