{\r
public struct Button\r
{\r
+ private static object locker;\r
+ static Button()\r
+ {\r
+ locker = new object(); \r
+ }\r
private bool pushed_, released_, pressed_;\r
public void down()\r
{\r
- pushed_ = true;\r
- pressed_ = true;\r
+ lock (locker)\r
+ {\r
+ pushed_ = true;\r
+ pressed_ = true;\r
+ }\r
}\r
public void up()\r
{\r
- released_ = true;\r
- pressed_ = false;\r
+ lock (locker)\r
+ {\r
+ released_ = true;\r
+ pressed_ = false;\r
+ }\r
}\r
- public bool pushed() { bool tmp = pushed_; pushed_ = false; return tmp; }\r
- public bool released() { bool tmp = released_; released_ = false; return tmp; }\r
+ public bool pushed() { lock (locker) { bool tmp = pushed_; pushed_ = false; return tmp; } }\r
+ public bool released() { lock (locker) { bool tmp = released_; released_ = false; return tmp; } }\r
public bool pressed() { return pressed_; }\r
}\r
}\r
static private System.Collections.Generic.Dictionary<System.Windows.Input.Key, IKey> map;\r
static public void Canvas_KeyUp(object sender, KeyEventArgs e)\r
{\r
- Main.drawable.msg("hoge", 0,0,Color.green);\r
if (map.ContainsKey(e.Key)) map[e.Key].up();\r
}\r
static public void Canvas_KeyDown(object sender, KeyEventArgs e)\r