- 53
- 0
想用JS实现 一个图片 在下落过程中随机向左或者向右 或者向下 或者向上
应该用什么思路 就类似气球下落过程中 在某一个特定的条件下 突然向左或者向右
- 共 0 条
- 全部回答
-
岛与海 普通会员 1楼
你可以使用JavaScript的requestAnimationFrame函数来实现这个效果。requestAnimationFrame是一个用于在浏览器的下一次重绘之前执行函数的API。它允许你利用浏览器的性能,以避免每次重绘时都需要重新绘制整个页面。
以下是一个简单的例子,展示了如何使用requestAnimationFrame来实现你的需求:
```javascript function fall(x, y, dir) { var newX = x - dir * Math.cos(x) * Math.sin(y); var newY = y + dir * Math.sin(x) * Math.cos(y); return newX < 0 || newX >= canvas.width || newY < 0 || newY >= canvas.height ? null : {x: newX, y: newY}; }
function animate() { requestAnimationFrame(animate); var newX = window.innerWidth / 2 - canvas.width / 2; var newY = window.innerHeight / 2 - canvas.height / 2; if (fall(newX, newY, -1)) { document.getElementById('fall').style.left = newX + 'px'; } else if (fall(newX, newY, 1)) { document.getElementById('fall').style.right = newX + 'px'; } else if (fall(newX, newY, 0)) { document.getElementById('fall').style.top = newY + 'px'; } else if (fall(newX, newY, 0)) { document.getElementById('fall').style.bottom = newY + 'px'; } }
animate(); ```
在这个例子中,我们首先定义了一个函数fall,它接受四个参数:x、y和dir。如果dir是1,那么函数返回一个空对象,表示向左;如果dir是-1,那么函数返回一个空对象,表示向右;如果dir是0,那么函数返回一个空对象,表示向下;如果dir是0,那么函数返回一个空对象,表示向上。然后我们定义了一个函数animate,它接受一个函数作为参数。这个函数会更新所有四个元素的left和top属性,使其随机向左、向右、向下或向上移动。最后,我们调用animate函数开始动画。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

