今天搞了个《下忍考试中安卓》的项目,听起来玄乎?根本不是考试!就是想试试在安卓上弄个忍者扔飞镖的动画,结果差点把自己整成忍者神龟。
开头就想简单粗暴
我寻思这玩意儿能有多难?直接抄起Android Studio,新建了个空项目。布局文件里怼了个TextView,心想就让这文字当飞镖,手指头一戳就让它飞出去。代码里吭哧吭哧写了OnTouchListener,手指按下就记录坐标,手指划走就开始计算飞镖轨迹。
结果翻车翻到姥姥家
真跑起来我人都傻了!手指一滑,那个TextView“咻”一下窜出去,飞的路线像抽羊角风,忽上忽下忽左忽右,有时候还TM在空中转圈!更离谱的是,有时候松手了飞镖还在原地抖,跟手机漏电似的。我盯着Logcat看了半天,原来是我这个憨憨:
- 把触摸事件的X、Y坐标直接当飞镖位置用了,完全没换算屏幕比例
- 飞镖速度瞎写的固定值,手指划拉快点慢点全是一个鸟样
- 动画结束没回调释放资源,飞镖堆内存里不走了
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
最绝的是!我还在那儿死磕物理公式,想着模拟重力加速度,改了半天参数,飞镖直接表演垂直升天——全tm飞到屏幕顶上挂着了,下都下不来!气得我差点把电脑扔了。
扭头就换野路子
公式去他妈的!我干脆把TextView换成ImageView,老老实实贴了张飞镖图片。轨迹也不算了,直接上TranslateAnimation:
- 手指起点到终点拉条直线
- 算个角度让飞镖头朝前转着飞
- 加个Alpha动画让它飞出屏幕就淡出
跑起来一试——虽然简单得像幼儿园手工,但飞镖总算能直溜地射到靶子上了!虽然戳中靶心时不会“砰”地插上去……但老子满足了!
所以搞安卓,别老想着整高大上。什么下忍考试全是虚的,代码能跑就是上忍,跑得顺就是影级!下次谁再跟我扯物理引擎,我先让他试试把TextView射墙上🤣