- 博客(46)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unity3d学习笔记
unity中的脚本类均继承自MonoBehaviourTime.deltaTime游戏中一帧的时间 假如1秒运行60帧,则一帧为1/60秒;假如游戏运行时卡顿,帧数变为30帧,则一帧为1/30秒Time.timeScale时间伸缩,类似于视频中的倍速播放 当timeScale=1时,时间为正常倍速。当timeScale=0,时间静止,可以用于暂停游戏。 假如timeScale=0.5,则原来需要1秒来执行完的动画,特效等,现在需要1/timeScale=2秒来执行完成 timeScal
2020-07-02 11:02:37
2238
原创 Android11 相机拍照权限,以及解决resolveActivity返回null
Android11 拍照权限 并解决resolveActivity返回null
2023-07-24 15:46:20
3339
原创 CSS 渐变圆角边框 + 渐变文字
html代码:<div class="textWrap"> <div class="text">linear</div></div>css代码(scss):.textWrap{ width: 100px; height: 30px; //渐变圆角 background-image: linear-gradient(white,white),linear-gradient(142deg,#9a3fff 1%, #1c7b
2021-11-02 18:22:23
251
原创 UE4 屏幕一暗一亮 取消自动曝光
一、在项目设置中取消自动曝光的勾选Edit(编辑)->Project Setting(项目设置)->Engine(引擎)->Rendering(正在渲染)->Default Settings(默认设置)->取消勾选Auto Exposure(自动曝光)二、如果World Outliner(世界大纲)中有GlobalPostProcessVolume这个组件,需要将这个组件下面的Exposure列表中的选项都取消勾选,如图:...
2021-07-05 14:29:25
5136
原创 UE4 Character移动与转向蓝图
打开Edit -> project settings -> Engine -> Input,添加以下键位创建Chararcter类型的蓝图(PlayerController),将它添加到场景中的Character上,如图:双击打开我们创建的PlayerController蓝图,切换到Event Graph页面:最后一步,编写蓝图:关于跳跃的蓝图:关于转向的蓝图:关于移动的蓝图:...
2021-06-30 17:41:33
1013
原创 Unity3d 编译打包Android apk后,找不到UnityEngine等引用的解决办法
问题描述:在用Unity打包生成安卓apk之后,发现VS中的代码文件突然标红,报了找不到UnityEngine等引用的错误。解决办法:因为在打包安卓版本的时候,会在设置中switch platform到android平台上。我的解决办法就是再把它switch到PC平台上,重启下自己的脚本开发环境就可以了。步骤:File—>Build Setting—>选择PC,Mac&Linux Standalone—>Switch Platform...
2021-06-21 17:21:06
1093
原创 Android 短信sms倒计时
将sms倒计时封装在一个类中:public class SmsTimer { private Timer timer; private int totalTime=60; //总共时长 private int currentTime; //当前倒计时 private Handler handler=new Handler(Looper.getMainLooper()); public SmsTimer(TimerInterface timerInter
2021-06-16 10:05:19
205
原创 Flutter 十六进制与字符串的相互转换
一、十六进制转换为字符串 String startId="#Start#"; String start=""; for (int i = 0; i < startId.length; i++) start=start+startId.codeUnitAt(i).toRadixString(16);
2021-06-08 11:07:07
4972
原创 Flutter 圆形Image
new Container( width: 60,height: 60, decoration: BoxDecoration( shape: BoxShape.circle, //可以设置角度,BoxShape.circle直接圆形 .
2021-06-07 16:47:23
244
1
原创 解决Android project already contains module with this name
第一步:选择File -> Project Structure -> Modules,选中要删除的module并点击减号第二步:选择File -> Project Structure -> Dependencies,选中app,将需要删除的mudule取消关联第三步:检查setting.gradle文件,include这一行是否还存在已删除的module,如果存在就手动删除第四步:检查项目文件夹下面是否仍存在已经删除的module的文件夹,如果存在就手动删除
2020-09-09 11:18:59
4023
1
原创 Android 自定义LinearLayout实现滑动下拉抽屉的功能(解决滑动冲突)
本篇我们来解决上一篇的遗留问题:自定义LinearLayout与RecyclerView的滑动冲突。没看过上一篇文章的,可以先去看一下:https://blog.csdn.net/zz51233273/article/details/108320445先看效果图:一、解决思路当手指一开始滑动时,触摸事件会被传递给RecyclerView去处理。并且在滑动列表数据的时候,我们确实是想让RecyclerView去处理触摸事件。经过长时间尝试,我发现用onInterceptTouchEvent
2020-09-02 10:11:15
1071
原创 Android 自定义LinearLayout实现滑动下拉抽屉的功能
先看效果图:先来说说思路:我们把该页面分为两部分,分别是头部的抽屉布局(海洋色背景)和主内容布局(白色背景),这两部分的布局是呈线性关系,即抽屉在上,主页面在下,并且它们的父布局应该是一个可滑动的LinearLayout线性布局所以,我们的目标就是自定义一个可滑动的LinearLayout,并且设置它的子布局都向上移动一个自定义LinearLayout的高度一、自定义控件的测量和布局自定义LinearLayout,假设为MyPullDownLayout:public class M
2020-08-31 15:17:10
2868
原创 Android 自定义View一个酷炫又无厘头的动画
先看效果图:这是我在做上一篇自定义View加载动画时,无意间写出来的东西,个人觉得十分酷炫,而且只需要简简单单40行代码。关于该View的实现我不细说了,直接上代码:public class MyFiveCircleView extends View { private Paint circlePaint; private RadialGradient radialGradient; private int circleNum=5; //圆的数量
2020-08-27 11:33:27
318
原创 Android 自定义View利用Path实现变速圆周运动的环绕加载动画
先看效果图:我先来说下思路:首先我们需要将小圆球添加到Path中(Path.addCircle()),然后我们利用canvas.rotate旋转整个图层,从而实现小球绕图层中心做圆周运动。又因为每个圆球运动轨迹不同,所以我们需要五个Path对象来分别存放上图中的五个圆球。最后利用加速度公式来模拟小球加速和减速运动一、圆球的绘制和匀速圆周运动下面我们来做图分析:由上图可知,以我们控件的宽度为准,假设控件的宽度为w,可以设计最大圆的半径为w/8,接下来从大到小其余四个圆的半径分别为w/.
2020-08-27 11:03:33
1206
原创 自定义View实现圆环环绕的加载动画
先看效果图:这是我在某软件上看到的加载动画,感觉挺不错,就自己研究了一下。下面给大家分享一下该动画的实现过程一、三个圆环的绘制和运动分析来看下面这张解析图:假设每个圆环的初始位置如上图,那么我们可以设定每一个球的位置以及每一个球离控件边界的距离(w/6)为了方便,我们定义控件宽度getWidth()为w,那么左上,右上,正下方圆环的圆心坐标依次为:(w/4, w/4),(w*3/4, w/4),(w/2, w*3/4)我们再来看下面这个动画:发现了吧,实际上每个圆
2020-08-24 15:38:58
415
原创 自定义View实现注销图案的加载动画
先看效果图:有那味了。。。(懂得都懂^ ^ √)我们先来分析一下怎么画,然后再研究怎么让他动起来这个View是由内部的注销图案和外面一圈圆环构成。而内部的注销图案又是由一个基本满角度的圆弧和一根竖线组成一、绘制内部注销图案首先初始化画笔和圆弧的外切矩形:private Paint logOffPaint; //注销图案的画笔private Paint circlePaint; //外圆的画笔private RectF logOffRect; //注销图案中圆弧的外切
2020-08-21 18:14:17
192
原创 Android 自定义ViewGroup实现图片滑动显示
先看效果图:本篇我们分为三部分来讲:图片的滑动实现 动态改变缩放值和透明度 实现右下角滚轮滑动 补充一、图片的滑动实现在上图中,一个屏幕里同时可以存在三张图片,这意味着每次滑动实际只滑动了1/3的屏幕宽度。当然,我们也可以只让屏幕显示一张图片,或是同时显示5张等等。我们应该设立一个变量onPagerNum来表示当前屏幕显示的图片数量在本文中我们令onPagerNum=3,即一个屏幕出现三张图片。下面我们要计算每个图片应分配的最大宽度,先来看下图:从图中就能很明显的得出结论
2020-08-10 16:32:02
1563
2
原创 Android 自定义View贝塞尔曲线实现波浪动画
先看效果图:下面我们来研究研究他是如何实现的。为了方便我们观察,再来看下面这张动图:有感受到些什么吗?其实,我们需要做的是同时创建多条贝塞尔曲线,然后移动每条曲线上的起点和终点就能实现波浪效果了。例如在上面图中,黑色的点是贝塞尔曲线上的起点与终点,蓝色的点是贝塞尔曲线的控制点。控制点x的坐标其实是由起点和终点决定的。控制点x坐标计算公式是:x=(起点的x+终点的x)/2,控制点y的坐标我们可以任意取值,从而来达到最好的效果。所以,移动贝塞尔曲线的起点和终点后,它的控制点也会跟着移动。
2020-08-07 17:54:01
715
原创 Android 自定义View贝塞尔曲线实现书籍翻页的效果(包含原理解释)
先看效果图:我先来解释一下该翻页的实现原理,大家来看下面这张图:我们可以把翻页时的图案分为三部分,分别是第一页的图案,第一页的背面图案,以及第二页的图案。我们将图形进一步数学化:其中,c、d、b是以e为控制点的贝塞尔曲线上的点。同样,j、i、k是以h为控制点的贝塞尔曲线上的点。a为翻角的顶点,线段eh为线段af的中垂线。根据上图,我们可以对线段af左侧做出假设(另一边也同理):ce=ef/2p是线段cb的中点d是线段pe的中点b是ae和cj的交点由
2020-08-05 14:52:47
2051
3
原创 Android 自定义View实现动画效果切换主题颜色
先看效果图:想要实现这种效果,首先要了解下Xfermode图像混合模式中的PorterDuff.Mode.CLEAR,它可以用来清除原图像的部分绘制内容,可以理解为它是一块橡皮,可以擦去图像上的任意一块地方。其次,canvas中的也有着图层的概念。图层是什么,简单来说就是一层一层的图片叠加在同一个地方,比如有一幢摩天大楼,它有一层,两层,三层......十八层等等,我们如果从大楼正上方俯瞰大楼,因为它的下面几层都被最上层压住了,所以我们只能看到它的最上层。图层的概念也一样,我们正常情况只能看到最
2020-07-31 15:55:03
747
原创 Android 自定义View实现打钩(签到)的动画
先看效果图:这里,我没有添加打钩的图片,而是单纯的用canvas来实现动画效果中间的钩,我用了路径Path来进行描绘并实现它的动画效果。首先,这个钩由两条线段,三个顶点组成的,其实将这三个顶点作为参数传入Path对象中的lineTo()方法,再调用一下canvas.drawPath(),我们就可以得到图中这个钩的样式了然后说说动画效果的实现,postInvalidateDelay()这个方法就很重要了,它能让onDraw()方法每隔一段时间被调用一次所以,外部的圆环我们可以用drawAr
2020-07-29 17:46:49
885
原创 Android 自定义View实现炮弹射击小游戏
先看效果图:这是一个比较简易的射击小游戏,后期可以将圆球,炮筒用其它图片来替换,应该可以变得好看一些。我实现这个效果,主要是为了学习和巩固自定义View的一些知识点。下面我来讲述一下本游戏的设计思路从图上我们可以看到,我们需要一个炮筒,炮筒里可以发出许多的子弹,然后天上有很多的敌人,我们需要用子弹去碰撞到敌人,从而达到消灭敌人的效果。所有我们首先就需要有炮筒,子弹,敌人这三个类大炮类:public class Artillery { private Matrix matrix;
2020-07-28 17:18:38
1378
4
原创 Android 自定义View实现可拖动边框缩放的矩形
先看效果图我的思路是,首先我给确定下来我点击的是哪一条边,这个可以用onTouchEvent来监听实现。然后,由于用户很难精确的点击到边上,所有点击时需要存在一定的误差范围。最后,我需要判断每条边的边界情况,例如右边框不能移动到左边框的左边,上边框不能移动到下边框的下面等。下面是自定义View的源码:public class MyRectView extends View { private Paint paint; private Rect rect; priva
2020-07-28 09:52:36
2263
6
原创 Android 自定义View实现圆形头像(适用于任意布局)
先看效果图:先来说下我的思路:首先我需要在自定义View中动态获取头像id,那么就需要在attrs文件中,写一个关于该View类的自定义属性。这里仿照ImageView,取名为src,类型为reference引用类型<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="CircleImageView"> <attr name="
2020-07-24 11:51:44
996
1
原创 Android 自定义View实现动画形式加载环形图
先看效果图(图片是gif,比较卡顿):通过调用postInvalidateDelayed()延时绘制的方法,可以实现以上图片中的延时效果,下面来看具体代码:1、自定义View类:public class MyProgressView extends View { private Paint circlePaint; //圆环的画笔 private Paint bgPaint; //环背景的画笔 private RectF circleRectF; //
2020-07-16 10:41:50
422
原创 Android Zxing二维码自定义界面(继承Capture类)
先来看效果图首先我们引入Zing开源框架,来搭建二维码扫描环境:dependencies { implementation 'cn.yipianfengye.android:zxing-library:2.2'}跳转到二维码扫描界面://跳转到扫描二维码public void forwardZXing(){ Intent intent = new Intent(this, CaptureActivity.class); startActivityForRe
2020-07-13 15:31:04
2803
2
原创 Android自定义View模拟并实现3D柱状图
先看效果图呈上代码:自定义View类public class MyBarView extends View { private Paint barPaint; //柱状图画笔 private Paint shadowPaint; //阴影画笔 private int xOffset=1,yOffset=1; //x和y方向的偏
2020-07-09 18:39:51
969
原创 自定义View简单实现图片的手指移动和两指缩放
先看效果图:直接上源码:自定义View类public class MyView extends View { private Matrix matrix; private Bitmap bitmap; private Paint paint; private float currentX,currentY; //当前手指所在屏幕的位置坐标 private double pointerDistance=-1; //两指间的距离 pri
2020-07-08 14:01:24
1318
原创 初学Flutter--Assets资源文件
使用AndroidStudio进行Flutter编程时,无需创建assets文件夹来存放文件,这里以图片为例,可以按以下三步走来加载图片1、在项目根目录创建Directory文件夹,我这里取名为’images‘,将图片放入该文件夹中2、在pubspec.yaml文件中配置Assets资源文件路径,只有配置了路径,代码里才能调用文件(注意缩进,'-'右边有一个空格)3、在代码里调用,例如下面的方法...
2020-06-15 15:09:42
8494
原创 Android 解决Dialog导致软键盘无法隐藏的问题
解决办法:hideSoftInputFromWindow(view.getWindowToken(), 0);这个方法中的第一个参数传dialog的view例如:Dialog dialog = new Dialog(getContext(), R.style.ActionSheetDialogStyle);InputMethodManager imm=(InputMethodManager)getContext().getSystemService(Context.INPUT_METHO
2020-05-12 11:14:27
1365
原创 JAVA的引用类型
强引用:=软引用:SoftReference弱引用:WeakReference虚引用:PhantomReference对象的可及性:强可及对象:永远都不会被GC回收,除非OOM软可及对象:当系统内存不足的时候,被GC回收弱可及对象:当系统GC发现这个对象,就被回收虚可及对象:虚引用用来检测对象是否被回收引用队列(ReferenceQueue):弱引用,软引用...
2020-04-26 02:26:29
146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人