Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
必须实现一个Directx9项目,该项目涉及 使用鼠标滚轮 像Google 地图一样向光标缩放(类似于Phrogz的这个实现)。
需要数学和相同所需的变量。
使用以下步骤解决了这个问题
决定每次滚动移动,称为 Z-SHIFT,在 Z 方向上朝向目标点,这样相机应该以固定滚动(SCROLL_COUNT)行进到目标
计算沿 X 和 Y 方向行驶的距离,例如 DIST_X 和 DIST_Y
X 方向和 Y 方向每个滚动的移动量将计算为
X-SHIFT = DIST_X/SCROLL_COUNT
Y-SHIFT = DIST_Y/SCROLL_COUNT
Z-SHIFT = 预先确定的合适值
我们有数学方程来指导每次滚动的相机坐标,当放置在代码中时,它会提供所需的缩放到光标效果。