C_Sharp 板


LINE

档案:https://mega.co.nz/#!ENgQyR6L!9SvbVVXTPD6OL1KKWbg9hy4Wl9NKLpGYS234Kdjc0Co (抱歉用缩网址会被当广告讯息) 我的游戏是一个类似电流急急棒的程式 当滑鼠画出的黄线不在红色区域或滑鼠没有被按下时 就会跳出警告视窗 目前我希望程式的picturebox可以出现在跳出警告视窗当时滑鼠的座标 也就是让玩家从失败的地方按一下 然後再继续玩 可是我没有办法随机改变picturebox的座标 有方法做得到吗? 不用picturebox也没关系 附上程式码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace Painter { public partial class FormPainter : Form { int frequency = 1; int counter = 0; Graphics g; Pen pen = new Pen(Color.Yellow, 3); bool isMouseUp = false; DateTime time_start, time_end; public FormPainter() { InitializeComponent(); labelFREQUENCY.Text = frequency.ToString(); timer1.Interval = 1000; // 设定每秒触发一次 g = this.CreateGraphics(); } private void timer1_Tick(object sender, EventArgs e) { //counter++; } static Color GetPixelColor(Point position) { using (var bitmap = new Bitmap(1, 1)) { using (var graphics = Graphics.FromImage(bitmap)) { graphics.CopyFromScreen(position, new Point(0, 0), new Size(1, 1)); } return bitmap.GetPixel(0, 0); } } bool isMouseDown = false; //bool isMouseClick = true; private void FormPainter_MouseUp(object sender, MouseEventArgs e) { isMouseDown = false; isMouseUp = true; stop_Game(); timer1.Enabled = false; } // this is where game start private void FormPainter_MouseDown(object sender, MouseEventArgs e) { time_start = DateTime.Now; isMouseDown = true; isMouseUp = false; counter = 0; timer1.Enabled = true; } List<Point> points = new List<Point>(); private void FormPainter_MouseMove(object sender, MouseEventArgs e) { Point p = new Point(e.X, e.Y); if (isMouseDown && points.Count > 0) { Point last = points[points.Count - 1]; g.DrawLine(pen, last, p); } points.Add(p); int x_c = e.X; int y_c = e.Y; labelCOORDINATE.Text = string.Format("X: {0}, Y: {1}", e.X, e.Y); GetImagePixel((Bitmap)BackgroundImage, x_c, y_c); if ((x_c >= 515 && x_c <= 675) && (y_c >= 487 && y_c <= 563) && timer1.Enabled) { time_end = DateTime.Now; // 取得游戏结束的时间 //後面的时间减前面的时间後 转型成TimeSpan即可印出时间差 timer1.Enabled = false; MessageBox.Show("Congratulation!"); //points.Clear(); // 清空 滑鼠轨迹点 //this.Invalidate(); // 必须更新画面 isMouseDown = false; label1.Text = ((TimeSpan)(time_end - time_start)).TotalMilliseconds.ToString(); //Close(); } if ((x_c >= 40 && x_c <= 45) && (y_c >= 467 && y_c <= 487)) { //points.Clear(); // 清空 滑鼠轨迹点 //this.Invalidate(); // 必须更新画面 timer1.Enabled = true; } } private void stop_Game() { time_end = DateTime.Now; // 取得游戏结束的时间 //後面的时间减前面的时间後 转型成TimeSpan即可印出时间差 label1.Text = ((TimeSpan)(time_end - time_start)).TotalMilliseconds.ToString(); Console.WriteLine(label1.Text); labelFREQUENCY.Text = frequency.ToString(); //buttonSTART.Visible = true; label1.Text = ""; points.Clear(); // 清空 滑鼠轨迹点 this.Invalidate(); // 必须更新画面 timer1.Enabled = false; DialogResult myResult = MessageBox.Show ("您要再玩一次吗?", "触控笔不在黑色路径上", MessageBoxButtons.YesNo, MessageBoxIcon.Question); //MessageBoxButtons和 MessageBoxIcon这个里面有很多列举,可自己选自 己要的 if (myResult == DialogResult.Yes) { counter = 0; frequency++; points.Clear(); // 清空 滑鼠轨迹点 this.Invalidate(); // 必须更新画面 isMouseDown = false; } else if (myResult == DialogResult.No) { label1.Text = ((TimeSpan)(time_end - time_start)).TotalMilliseconds.ToString(); isMouseDown = false; } } private void FormPainter_Load(object sender, EventArgs e) { } public void GetImagePixel(Bitmap theImageBitmap, int x, int y) { Bitmap bmp = new Bitmap(theImageBitmap); Color pixel; try { pixel = bmp.GetPixel(x, y); Console.WriteLine(pixel); labelCOLOR.BackColor = pixel; if (pixel.G >100 && timer1.Enabled==true) { stop_Game(); timer1.Enabled = false; } } catch (Exception e) { } } private void pictureBox1_MouseClick(object sender, MouseEventArgs e) { pictureBox1.Visible = false; } } } 谢谢耐心的版友 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.114.54.99
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1433221842.A.655.html







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP