[IronPython] IronPython Silverlight 4 debugging... [No errors just not working]

Andrew Evans evans.d.andrew at gmail.com
Wed Aug 11 19:11:01 CEST 2010


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 <fuzzyman at 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
> Users at 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 at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100811/75752453/attachment.html>


More information about the Ironpython-users mailing list