游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6115|回复: 25

寻高手来实现.

[复制链接]

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
发表于 2006-1-7 00:52:00 | 显示全部楼层 |阅读模式
     这是以前做的 . 入门级的 ..   
     想要高手门来实现俩个功能.

sf_20061705218.rar

158.36 KB, 下载次数:

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
 楼主| 发表于 2006-1-7 00:56:00 | 显示全部楼层

Re: 寻高手来实现.

  这副图上的线条是静态的 如果能把让上面的线条动态旋转  会很cool呢.
具体应该是这样 , 起始位置 ,俩个等边三角形相互倒置 , 形成一个六角星,然后开始旋转 ,
俩个等边三角形的中心也是圆心
多彩线 以圆心为中心 ,  旋转 .   


    这个是偶师傅出给我的, 他说,完成这个 偶就结业了. 呵呵 . 可惜事有半年了.
sf_2006170561.gif

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
 楼主| 发表于 2006-1-7 00:59:00 | 显示全部楼层

Re: 寻高手来实现.

   这个是做的仿雷达的图 . 如果这上面的线条能循环平行移动 就帅了,
而且线条不能超出圆  .
   另外 , 最好 图中的那个点 能闪烁 .
   
sf_20061705913.jpg

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
 楼主| 发表于 2006-1-7 01:58:00 | 显示全部楼层

Re: 寻高手来实现.

Type Point
  Dim X As Double
  Dim Y As Double
End Type

Private Function Transform(A As Point, O As Point, theta As Double) As Point
  Dim B As Point, r As Double, Arg As Double
  r = Sqrt((A.X - O.X) ^ 2 + (A.Y - O.Y) ^ 2)
  If (A.X - O.X = 0) Then
    Arg = IIf(A.X - O.X > 0, pi/2, -pi/2)
  Else
    Arg = Atn((A.Y - O.Y) / (A.X - O.X))
    If (A.Y - O.Y < 0) Then Arg = pi + Arg
    End If
  End If
  Arg = Arg + theta 'Rotate the point
  B.X = CLng(O.X + r * cos(Arg))
  B.Y = CLng(O.Y + r * sin(Arg))
  Transform =B
End Function
我朋友为实现第一个问题所写的代码 .
  不过没有通过.
然后声明一个Point数组Points,渲染部分如下:
Private Sub Render()
  Line1.X1 = CLng(Points(0).X)
  Line1.Y1 = CLng(Points(0).Y)
  Line1.X2 = CLng(Points(1).X)
  Line1.Y2 = CLng(Points(1).Y)
  Line2.X1 = CLng(Points(1).X)
  Line2.Y1 = CLng(Points(1).Y)
  Line2.X2 = CLng(Points(2).X)
  Line2.Y2 = CLng(Points(2).Y)
  Line3.X1 = CLng(Points(2).X)
  Line3.Y1 = CLng(Points(2).Y)
  Line3.X2 = CLng(Points(0).X)
  Line3.Y2 = CLng(Points(0).Y)
End Sub

Private Sub Rotate()
  Dim Count As Integer
  For Count = 0 To Points.Length - 1
    Points(Count) = Transform(Points(Count))
  Next
End Sub

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
 楼主| 发表于 2006-1-7 02:09:00 | 显示全部楼层

Re: 寻高手来实现.

回  azureyes
  是这样的效果 , 横向线条  各自上移  到顶后  回到 原处
最重要的一点 要有对称的感觉 , 因为我要的是一种雷达的效果 .
你可以看看  ,游戏之家发的那个雷达的东西 .  

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
发表于 2006-1-7 03:46:00 | 显示全部楼层

Re: 寻高手来实现.

一看,就知道我不行~~

18

主题

110

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2006-1-7 12:25:00 | 显示全部楼层

Re: 寻高手来实现.

我肯定不行
不过下来看看
消习消习
不过老是说我运气差.要我练习气功心法...........无语

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
 楼主| 发表于 2006-1-7 13:13:00 | 显示全部楼层

Re: 寻高手来实现.

  游戏里的一个bug ,开始选择以前先点一下初始化 .  不然你计算的实际上是上一个人的结果

88

主题

1125

帖子

1136

积分

金牌会员

Rank: 6Rank: 6

积分
1136
QQ
 楼主| 发表于 2006-1-7 13:22:00 | 显示全部楼层

Re: 寻高手来实现.

   关于点的闪烁 , 我想到 , 用俩个shape 一红一黑 然后用一个timer控制他们交替显示 ,
不知这样可否?
   我想大侠们应该有更好的方法

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2006-1-7 14:06:00 | 显示全部楼层

Re: Re: 寻高手来实现.

zodane: Re:     寻高手来实现.

   关于点的闪烁 , 我想到 , 用俩个shape 一红一黑 然后用一个timer控制他们交替显示 ,
不知这样可否?
   我想大侠们应该有更好的方法


我的做好了,看看是不是你要的

sf_20061714535.rar

13.24 KB, 下载次数:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 05:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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