Note that there are some explanatory texts on larger screens.

plurals
  1. POI can't figure out why my image will not repaint
    primarykey
    data
    text
    <p>My images is definitally moving, but no matter what I do, I can not get it so the image repaints! The GameManger paints the cat, and the form1 passes the paint args and object to gamemanager.</p> <p>Form1:</p> <pre><code>using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace CatAndMouse { public partial class Form1 : Form { GameManager myGM = new GameManager(); int dir = 0; public Form1() { InitializeComponent(); newGame(); } private void pictureBox1_Paint(object sender, PaintEventArgs e) { if (this.myGM != null) this.myGM.paint(e.Graphics); //e.Graphics.DrawImage(imgMouse.Images[0], pointXMouse, pointYMouse); //e.Graphics.DrawImage(imgCat.Images[0], 50, 100); //e.Graphics.DrawImage(imgCheese.Images[0], 75, 100); } private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Up) { dir = 0; } if (e.KeyCode == Keys.Right) { dir = 1; } if (e.KeyCode == Keys.Down) { dir = 2; } if (e.KeyCode == Keys.Left) { dir = 3; } } public void newGame() { timer1.Start(); myGM.newGame(imgCat, imgMouse, imgCheese, this); } private void timer1_Tick(object sender, EventArgs e) { pictureBox1.Refresh(); } public int getDir() { return dir; } } } </code></pre> <p>GameManager:</p> <pre><code>using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace CatAndMouse { class GameManager { Form1 myForm; Cat ca1 = new Cat(); Mouse m = new Mouse(); Cheese ch = new Cheese(); int amount = 5; int catdir = 0; Timer time = new Timer(); public ImageList imgCat = new ImageList(); public ImageList imgMouse = new ImageList(); public ImageList imgCheese = new ImageList(); public void newGame(ImageList cat, ImageList mouse, ImageList cheese, Form1 form) { imgCat = cat; imgMouse = mouse; imgCheese = cheese; myForm = form; time.Start(); } public void move() { ca1.Move(amount, catdir); m.Move(amount, catdir); } public void paint(Graphics g) { g.DrawImage(imgCat.Images[0], ca1.getLocation()); } private void time_Tick(object sender, EventArgs e) { move(); getDir(); myForm.Refresh(); } public void getDir() { catdir = myForm.getDir(); } } } </code></pre> <p>Cat:</p> <pre><code>using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace CatAndMouse { class Cat: Moveable { Random myCLoc = new Random(); private Moveable myCatMove; public Point p = new Point(100, 100); int dir = 0; public void Move(int n, int d) { dir = d; if (dir == 0) { p.Y = p.Y - n; } if (dir == 1) { p.X = p.X + n; } if (dir == 2) { p.Y = p.Y + n; } if (dir == 3) { p.X = p.X - n; } } public void changeDirection() { } public Point getLocation() { return p; } public void paint(PaintEventArgs e) { } } } </code></pre> <p>No matter what I do it will just NOT REPAINT!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload