Ok well it doesn't look like my event handlers are even being called this is what I did
def KeyDown_Control(self, s, e): if e.Key == Key.Right: print "Right Arrow" #self.canvas.SetLeft(self.ship, self.canvas.GetLeft(self.ship) + velocity) elif e.Key == Key.Left: print "Left Arrow" #self.canvas.SetLeft(self.ship, self.canvas.GetLeft(self.ship) - velocity) elif e.Key == Key.Up: print "Up Arrow" #self.canvas.SetTop(self.ship, self.canvas.GetTop(self.ship) - velocity) elif e.Key == Key.Down: print "Down Arrow" #self.canvas.SetTop(self.ship, self.canvas.GetTop(self.ship) + velocity) So assuming that's the issue which is likely than it would be this line # This line should be something different Not sure what to use instead of this self.ship.KeyDown += KeyEventHandler(self.KeyDown_Control) Which I assumed all this time Any ideas what it should be? *cheers Andrew On Wed, Aug 11, 2010 at 9:37 AM, Michael Foord <fuzzy...@voidspace.org.uk>wrote: > On 11/08/2010 17:34, Andrew Evans wrote: > > Hello I am running IronPython 2.7A and trying to debug a Silverlight app. I > am trying to figure out why my ship doesn't move when I press the Arrow > keys. > > here is the complete source minus most imports :D > > Put some debugging in (append text to an html div) to see if your event > handlers are being fired. That would my first step. > > Michael > > > Any ideas > > from System.Windows.Input import * > > > velocity = 10 > > class Gui(): > def __init__(self): > > self.grid = Grid() > self.canvas = Canvas(Background = SolidColorBrush(Colors.White)) > self.canvas.Width = 640 > self.canvas.Height = 432 > self.bgImage = Image( > Source = BitmapImage(Uri("images/background.jpg", > UriKind.Relative)) > ) > self.canvas.SetTop(self.bgImage, 132) > self.canvas.SetLeft(self.bgImage, 0) > # self.textblock = TextBlock() > ## self.textblock.FontSize = 24 > ## self.textblock.Text = 'This Really Works!!' > ## self.canvas.Children.Add(self.textblock) > > self.ship = Image( > Source = BitmapImage(Uri("images/ship.png", UriKind.Relative)) > ) > > self.canvas.SetTop(self.ship, 75) > self.canvas.SetLeft(self.ship, 25) > > CompositionTarget.Rendering += EventHandler(self.ShootBG) > ## self.GenerateStarField(350) > > self.canvas.Children.Add(self.bgImage) > > self.canvas.Children.Add(self.ship) > self.grid.Children.Add(self.canvas) > Application.Current.RootVisual = self.grid > # This line should be something different Not sure what to use > instead of this > self.ship.KeyDown += KeyEventHandler(self.KeyDown_Control) > > > def ShootBG(self, s, e): > self.canvas.SetLeft(self.bgImage, self.canvas.GetLeft(self.bgImage) > - 1) > if self.canvas.GetLeft(self.bgImage) < -2110: > self.canvas.SetLeft(self.bgImage, 0) > > def KeyDown_Control(self, s, e): > if e.Key == Key.Right: > self.canvas.SetLeft(self.ship, self.canvas.GetLeft(self.ship) + > velocity) > elif e.Key == Key.Left: > self.canvas.SetLeft(self.ship, self.canvas.GetLeft(self.ship) - > velocity) > elif e.Key == Key.Up: > self.canvas.SetTop(self.ship, self.canvas.GetTop(self.ship) - > velocity) > elif e.Key == Key.Down: > self.canvas.SetTop(self.ship, self.canvas.GetTop(self.ship) + > velocity) > > gui = Gui() > gui > > > _______________________________________________ > Users mailing list > us...@lists.ironpython.comhttp://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > -- http://www.ironpythoninaction.com/http://www.voidspace.org.uk/blog > > READ CAREFULLY. By accepting and reading this email you agree, on behalf of > your employer, to release me from all obligations and waivers arising from > any and all NON-NEGOTIATED agreements, licenses, terms-of-service, > shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, > non-compete and acceptable use policies (”BOGUS AGREEMENTS”) that I have > entered into with your employer, its partners, licensors, agents and assigns, > in perpetuity, without prejudice to my ongoing rights and privileges. You > further represent that you have the authority to release me from any BOGUS > AGREEMENTS on behalf of your employer. > > > > _______________________________________________ > Users mailing list > Users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >
_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com