我想为我正在编写的一个小 2D Hunt the Wumpus 游戏添加一个过渡效果。它有一个以当前房间为中心的俯视图,玩家可以在其中移动。房间的每面墙上都有一扇门,它是方形的。
例如,如果玩家穿过北门,我想让房间向下滑动,将房间向北显示。我应该怎么做才能实现这一点?我真的不知道从哪里开始。
我想为我正在编写的一个小 2D Hunt the Wumpus 游戏添加一个过渡效果。它有一个以当前房间为中心的俯视图,玩家可以在其中移动。房间的每面墙上都有一扇门,它是方形的。
例如,如果玩家穿过北门,我想让房间向下滑动,将房间向北显示。我应该怎么做才能实现这一点?我真的不知道从哪里开始。
您可以将中心房间作为一个图像,当玩家进入北门时,北房间图像将 y 更改为较小的值,以便北房间向下滑动,而中心房间也必须通过将 y 更改为 a 来向下滑动较小的值。
您正在寻找的是运动插值。基本上,您想一点一点地改变房间的垂直位置,以创建幻灯片效果。或者,您可能希望应用一些加速/减速效果来美化过渡,而不是使用线性方法。
这种效果是众所周知的,并且在 Flash 及其 Tweens 中很流行。补间是在给定时间内从起始值运行到结束值的插值。许多 javascript 框架现在到处都使用补间,比如 jQuery。这种过渡效果很受欢迎。
为了防止你重新发明轮子,我曾经构建了一个通用动画引擎,通用补间引擎。您可以在这里看到它的演示(需要启用 webgl 的浏览器),这里有一些带有代码的 小程序。它最初是为在 android 游戏中创建动画而设计的,但现在它能够为任何 java 项目中的所有内容制作动画。
该库在 apache2 许可下是完全开源的。