C#问题,高手进....

1.我在窗口放了张图片,我想让它随机乱动,但为什么只能上下动?代码如下:intx=pictureBox1.Location.X+Stochastic();//给x随即赋值... 1.我在窗口放了张图片,我想让它随机乱动,但为什么只能上下动?
代码如下:
int x = pictureBox1.Location.X + Stochastic();//给x随即赋值为窗口上的横坐标
int y = pictureBox1.Location.Y + Stochastic();//给y随即赋值为窗口上的横坐标
if (x > 0 && y > 0 && x < this.Size.Width -pictureBox1.Size.Width
&& y < this.Size.Height - pictureBox1.Size.Height)//不能让图片超出窗口范围
{
pictureBox1.Location = new Point(x, y);//获得图片以后显示在窗口上面
pictureBox3.Location = new Point(x, y);
pictureBox1.Image = global::小游戏.Properties.Resources.y1;//获得图片内容
}
Stochastic为随机函数;
int Stochastic()
{
Random r = new Random(DateTime.Now.Millisecond);
return r.Next(-300, 300);
}
2:我想当鼠标点击这张图片的时候变成一把剑的形状,我已经在项目资源里面添加了剑的图片,但不知道怎么用

急急急...拜托各位高手了,我刚学,说的清楚点
展开
 我来答
网络剑客Eks
2008-10-28 · TA获得超过425个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:242万
展开全部
随机函数调用时间间隔太短了,所以得到的是同一个值,把你程序改了一下.

int StochasticX()
{
System.Threading.Thread.Sleep(1);
Random rand = new Random();
return rand.Next(0, this.Size.Width - pictureBox1.Width);
}

int StochasticY()
{
System.Threading.Thread.Sleep(1);
Random rand = new Random();
return rand.Next(0, this.Size.Height - pictureBox1.Height);
}

private void Form1_Load(object sender, EventArgs e)
{
System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
t.Interval = 100;
t.Tick += new EventHandler(t_Tick);
t.Enabled = true;
}

void t_Tick(object sender, EventArgs e)
{
pictureBox1.Location = new Point(StochasticX(), StochasticY());
}
疯化血岳
2008-10-28 · TA获得超过111个赞
知道答主
回答量:118
采纳率:0%
帮助的人:86.2万
展开全部
要做 打地鼠吗?
怎么感觉差不多~
我写在timer 里了 先把picturebox 隐藏 获取新的随即数(坐标)
在新坐标显示 地鼠随即出现;

锤子打中后:
点击后图片变换 就用两个picturebox 就行了
点中的时候,让剑的那个picturebox 显示在 原图片的位置(location(x,y))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式