• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

100 Neutral

About Gerjj

  • Rank
  1. Straight to the point: I need to send a value from a function in a class to the main function, and can't figure it out without confusing myself. The game I'm making is a very simple platformer made using Pygame. Basically, you jump around on blocks, and get to an end block that will either end the level or change the level. The way my game creates the levels is by taking the letter P in a text document, and converting each of those into a block platform. The letter E is created into the end block. (For a quick visual example of the game,[url="http://www.youtube.com/watch?v=JM_EAnOFSnM"] youtube[/url]) [CODE] for row in level: for col in row: if col == "P": p = Platform(x, y) platforms.append(p) entities.add(p) if col == "E": e = ExitBlock(x, y) platforms.append(e) entities.add(e) x += 32 y += 32 x = 0 [/CODE] The above code is what takes the letters and converts them into block using a couple of functions. the 'level' on the first line is a list that is pulled from a text file using the read function. This way, the level can simply be changed by changing the file that is being read from: [CODE] levelID = 1 if levelID == 1: file = "levels\level1.txt" if levelID == 2: file = "levels\level2.txt" if levelID == 3: file = "levels\editable.txt" f = open(file,"r") data = f.readlines() f.close() level = (data) [/CODE] My problem is, I want the LevelID to be incremented by 1 whenever the player gets to the end block. However, then collision between the player and the end block are down in a collision function in the Player class: [CODE] for p in platforms: if sprite.collide_rect(self, p): if isinstance(p, ExitBlock): pass [/CODE] I've currently set it to pass, as this just enables me to run the code. How could I create a way that will enable the collision between the player and the end block increment the LevelID? Am I going about this a way that overcomplicates things? I hope this post makes sense, and that I've provided the right information. I've posted the full code [url="http://pastebin.com/cVXJVNku"]here[/url] if you want to have a look. Thanks! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
  2. Pygame Collision help

    I'm no expert, but there's a few things it could be. Firstly, the indentation of movey = 10 might be it. The second thing I can think of is the line before that, 'while standing == True:' I'm not sure you need '== True:' You could just have 'while standing:' If they don't work, it could be that the events happening whilst standing is True aren't actually doing anything to the object, so you would see no movement.
  • Advertisement