从另一种形式绘制
本文关键字:绘制 另一种 | 更新日期: 2023-09-27 17:49:58
我正在制作简单的游戏(c# Win Forms),我的角色在关键事件(箭头)上移动。
主类:
switch(e.Keycode)
{
case Keys.Left:
creature.moveleft(this,speed);
}
我的生物类是这样的:
public void Left(object sender,int speed)
{
Form form = (Form)sender;
Graphics grp = form.CreateGraphics();
..
..
..
}
我不喜欢每次我想画东西都要通过this
。我最终有Form form=(Form)sender
的每一个绘制方法在生物类。
有更好的方法吗?
我认为,如果我继承Form
在我的生物类,然后使用Graphics grp=this.CreateGraphics
将工作,但它实际上不画任何东西。
谢谢
如果您的Creature类是在表单创建之后创建的,为什么不直接将表单作为参数传递给构造函数,例如:
public class Creature
{
private Form form;
public Creature(Form form)
{
this.form = form;
}
...
public void Left(int speed)
{
Graphics grp = form.CreateGraphics();
..
..
..
}
}