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 <[email protected]>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
> [email protected]http://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
> [email protected]
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com