游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1275|回复: 1

请问这段代码怎样确定当前帧的?

[复制链接]

11

主题

17

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2008-1-28 14:12:00 | 显示全部楼层 |阅读模式
我在网上下载了一个类似雷电的vb6.0开发的游戏,其中确定enemy当前帧的代码段看不明白,希望高手指点一二
If Animated Then
             L_nCurrentFrame = (Parent.Parent.Parent.FrameCount Mod (.TileCount * .AnimationDelay)) \ .AnimationDelay
         End If
         
         If Directed Then
             L_nCurrentFrame = State.Direction \ (360 / (.TileCount + 1)) '\整数除法,不舍入
         End If
        
         If Targetting Then
            
            L_nDX = Parent.Parent.Parent.Player.PositionX - PositionX
            L_nDY = Parent.Parent.Parent.Player.PositionY - PositionY
            If L_nDX = 0 Then L_nDX = 1

            If L_nDX >= 0 And L_nDY >= 0 Then
                L_nAngle = 90 + Abs(Atn(L_nDY / L_nDX)) * 57.297469
            End If
            If L_nDX < 0 And L_nDY >= 0 Then
                L_nAngle = 270 - Abs(Atn(L_nDY / L_nDX)) * 57.297469
            End If
            If L_nDX >= 0 And L_nDY < 0 Then
                L_nAngle = 90 - Abs(Atn(L_nDY / L_nDX)) * 57.297469
            End If
            If L_nDX < 0 And L_nDY < 0 Then
                L_nAngle = 270 + Atn(L_nDY / L_nDX) * 57.297469
            End If
            
            L_nCurrentFrame = L_nAngle \ (360 / (.TileCount + 1)) 'L_nAngle \ (360 / (.TileCount + 1))

其中L_nAngle是什么角度呢啊?还有这个常量57.297469

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2008-1-28 15:05:00 | 显示全部楼层

Re:请问这段代码怎样确定当前帧的?

57.297469 = 180/3.1415

其实应该是
180/3.14159265 = 57.295779578552298943021782279762 才算准确的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 01:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表