| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3073 人关注过本帖
标题:狐狸头像环绕中间图片移动
只看楼主 加入收藏
柳柳liu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-6-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
狐狸头像环绕中间图片移动
图片附件: 游客没有浏览图片的权限,请 登录注册
    希望大神告知让狐狸头像环绕中间图片移动的代码
搜索更多相关主题的帖子: 图片 
2016-06-16 09:57
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:987
专家分:4946
注 册:2013-2-16
收藏
得分:1 
说一下算法,代码没精力写。
取得中间图片的left /width /top /heigh 四个值。那么圆心的位置:
横坐标: left+width/2
纵坐标: top +Heigh/2 ,
再来算圆的半径= 2√((width/2 )^2 + (Heigh/2 )^2  ) ,
这样画圆的要素就有了,剩下的,把事情交给Timer吧。
每隔多少时间,计算一次狐狸在下一个位置的坐标,再把他移动过去就OK。
2016-06-16 10:28
wanguhssheng
Rank: 2
等 级:论坛游民
威 望:2
帖 子:131
专家分:24
注 册:2016-2-26
收藏
得分:1 
看到有定时器,可以在其Timer事件中改变狐狸头的Top和Left的值。
2016-06-16 10:30
柳柳liu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-6-16
收藏
得分:0 
回复 3楼 wanguhssheng
就是不知道啊!
2016-06-18 22:12
柳柳liu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-6-16
收藏
得分:0 
回复 4楼 柳柳liu
2016-06-18 22:35
星光悠蓝
Rank: 9Rank: 9Rank: 9
来 自:山水甲天下
等 级:贵宾
威 望:52
帖 子:499
专家分:1216
注 册:2010-1-11
收藏
得分:1 
搞那么复杂干啥,弄点实用简洁的
2016-06-19 11:25
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1526
专家分:177
注 册:2006-6-3
收藏
得分:1 
再来算圆的半径= 2√((width/2 )^2 + (Heigh/2 )^2  ) ,
是这样算出来?√前面的2哪里来?就是根号吧

[此贴子已经被作者于2016-6-20 11:32编辑过]

2016-06-20 11:20
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:15 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

*thisform.image2.init
this.Top =thisform.image1.Top-this.Height-5
this.Left =thisform.image1.Left -this.Width -5

*thisform.timer1.init
this.Enabled =.t.
this.Interval =10
this.Tag ="向右"

*thisform.timer1.timer
DO CASE
CASE this.Tag="向右"
     thisform.image2.Left = thisform.image2.Left + 1
     IF thisform.image2.Left >= thisform.image1.Left + thisform.image1.Width  + 5
        thisform.image2.Left = thisform.image1.Left + thisform.image1.Width  + 5
        this.Tag="向下"
     ENDIF
CASE this.Tag="向下"
     thisform.image2.Top = thisform.image2.Top + 1
     IF thisform.image2.Top >= thisform.image1.Top + thisform.image1.Height + 5
        thisform.image2.Top = thisform.image1.Top + thisform.image1.Height + 5
        this.Tag="向左"
     ENDIF
CASE this.Tag="向左"
     thisform.image2.Left = thisform.image2.Left - 1
     IF thisform.image2.Left <= thisform.image1.Left - thisform.image2.Width - 5
        thisform.image2.Left = thisform.image1.Left - thisform.image2.Width - 5
        this.Tag="向上"
     ENDIF
CASE this.Tag="向上"
     thisform.image2.Top = thisform.image2.Top - 1
     IF thisform.image2.Top <= thisform.image1.Top - thisform.image2.Height - 5
        thisform.image2.Top = thisform.image1.Top - thisform.image2.Height - 5
        this.Tag="向右"
     ENDIF
ENDCASE

[此贴子已经被作者于2016-6-21 12:07编辑过]

2016-06-21 12:05
柳柳liu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-6-16
收藏
得分:0 
回复 8楼 mywisdom88
谢谢
2016-06-21 12:16
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:1 
回复 9楼 柳柳liu
*搞点花样,点狐狸停止,再点,运行
*thisform.image2.init
this.Top =thisform.image1.Top-this.Height-5
this.Left =thisform.image1.Left -this.Width -5
this.Tag ="1"

*thisform.image2.click
IF this.Tag ="1"
   thisform.timer1.Enabled = .F.
   this.Tag ="0"
ELSE
   thisform.timer1.Enabled = .t.
   this.Tag ="1"
ENDIF
2016-06-21 12:36
快速回复:狐狸头像环绕中间图片移动
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016491 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved