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@lists.ironpython.com
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
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to