Thanks a lot! THAT WORKS!!! Without you I could have wasted time on trying to correct this error!
Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Posts made by happy_variable
-
RE: Gives an error at the line that I marked.
-
RE: What do you use pythonista for?
Pythonista is also suitable for making simple 2D games, animations, and apps with ui. But there are several modules that are personal to Pythonista, there is a reference to them in the section "Pythonista modules". You can access it by tapping the question mark in the console.
Good luck with future concepts!
-
Gives an error at the line that I marked.
# coding: utf-8 import ui import appex import Image v = ui.load_view() img = appex.get_image() if img: v["image"].image = ui.Image(str(img)) #Error occurs here, it says IOError couldn't display image or something like that v.present('sheet') if not img: v.close()
How do I correct it? Please help!
-
Why does is there an error ocurring in my script?
It complains about that I didn't define the variable self.lasersOnScreen, what I actually did in the setup of the Main class.
How do I fix it?!
#coding : utf-8 from scene import * from random import * from game_menu import ButtonNode import sound import random #This module is not preset, its just the one I'm working on, if you ask what is this. import _scene_Physics A = Action class Powerup(SpriteNode): def __init__(self, **kwargs): SpriteNode.__init__(self, "plf:Item_Star", **kwargs) class Main(Scene): def shoot(self, type): if type == "up": self.laser_target_y = get_screen_size()[1] if type == "down": self.laser_target_y = -768 if self.powerupActivated == True: self.laser_target_y = 768 if type == "up" else -768 self.la = SpriteNode('spc:LaserGreen12', parent=self) self.la.position = self.al.position + (0, 30) self.la.z_position = 1 self.lasersOnScreen.insert(1, self.la) actions = [A.move_by(0, self.laser_target_y), A.remove()] self.la.run_action(A.sequence(actions)) self.lasersOnScreen.insert(1, self.la) sound.play_effect('digital:Laser4') def setup(self): _scene_Physics.Gravity.initGravity({"power" : 10}) self.powerupActivated = False self.playerLevel = 1 self.bricksOnScreen = [] self.lasersOnScreen = [] self.levelLabel = LabelNode("Level %s" % (self.playerLevel), ("Futura", 20), position=(40, 710), z_position = 1.0, parent=self) self.la = None self.bgimage = SpriteNode("spc:BackgroundPurple", position=(get_screen_size()[0]/2, get_screen_size()[1]/2), size=(get_screen_size()[0], get_screen_size()[1]), parent=self) self.al = SpriteNode("plf:AlienGreen_front", position=(512, 400), parent=self) self.shoot_button = ButtonNode("Shoot", parent=self) self.shoot_button.position = (924, 40) self.obstacleSpawnButton = ButtonNode("Spawn a brick", parent=self) self.upgradeStr = "Upgrade(Cost:100pts)" self.upgradeToNextLevelButton = ButtonNode(self.upgradeStr, parent=self) self.shootDownButton = ButtonNode("Shoot Down", parent=self) self.shootDownButton.position = (924, 100) self.upgradeToNextLevelButton.position = (512, 40) self.obstacleSpawnButton.position = (100, 40) self.score = 0 self.scoreLabel = LabelNode(str(self.score), ("Futura", 20), parent=self) self.scoreLabel.position = (40, 740) self.scoreLabel.z_position = 1.0 self.shootWith2 = False self.upgradeCost = 100 def touch_ended(self, touch): touch_loc = self.point_from_scene(touch.location) if touch_loc in self.shoot_button.frame: self.shoot(type = "up") if touch_loc in self.obstacleSpawnButton.frame: o = self.spawn_random_brick() self.bricksOnScreen.insert(1, o) del o if touch_loc in self.upgradeToNextLevelButton.frame: if self.score >= self.upgradeCost or self.score == self.upgradeCost: self.score -= self.upgradeCost self.scoreLabel.text = str(self.score) self.playerLevel += 1 if touch_loc in self.shootDownButton.frame: self.shoot(type = "down") def check_collisions(self): if self.lasersOnScreen: for brickOnScreen in self.bricksOnScreen: for laserOnScreen in self.lasersOnScreen: if laserOnScreen.position in brickOnScreen.frame: brickOnScreen.run_action(A.remove()) sound.play_effect(random.choice(["Explosion_1", "Explosion_2", "Explosion_3"])) if brickOnScreen in self.bricksOnScreen: self.bricksOnScreen.remove(brickOnScreen) if random.randint(1, 5) == 4 and self.powerupActivated == False: self.pup = Powerup(parent=self) self.pup.position = brickOnScreen.position actions = [A.move_to(100, 10), A.call(self.powerupActive), A.wait(18), A.call(self.powerupDesactive), A.remove()] self.pup.run_action(A.sequence(actions)) self.score += random.randint(1, 10) self.scoreLabel.text = str(self.score) if not self.la == None: if self.la in self.lasersOnScreen and self.powerupActivated == False: self.lasersOnScreen.remove(self.la) self.la.run_action(A.remove()) def touch_moved(self, touch): touch_loc = self.point_from_scene(touch.location) if touch_loc in self.al.frame: self.al.position = touch_loc def spawn_random_brick(self): obstacles = ["pzl:Blue8", "pzl:Purple8", "pzl:Yellow4"] obstacleName = random.choice(obstacles) brick = SpriteNode(obstacleName, position=(random.randint(1, get_screen_size()[0]), random.randint(1, get_screen_size()[1])), parent=self) _scene_Physics.Gravity.gravity(_scene_Physics.Gravity(), brick) return brick def update(self): self.check_collisions() self.levelLabel.text = "Level %s" % (self.playerLevel) def powerupActive(self): self.powerupActivated = True def powerupDesactive(self): self.powerupActivated = False if __name__ == "__main__": run(Main(), LANDSCAPE, show_fps=True)
-
How to get an array/tuple/dictionary of files that a certain folder contains?
So, I tried doing it using file.read but it didn't do it for me, please help.
Thank you.
-
How to post apps to the App Store?
So, how do I post apps to the App Store? And do I have to optimize the screen size for other devices or it'll be stretched automatically (I mean about the others who may download my apps, they can have a problem that the SceneView is too big/small for their screens.)?
Thanks! -
What the heck is the "u_offset" uniform in shaders?
No description to my question. Just read the title, OK?
Waiting for your answers! -
Why does an error happen when I try to call the subclass of "SpriteNode"?
Here is the subclass of SpriteNode
class Powerup(SpriteNode):
def init(name, duration, from_brick):
self.name = name
self.duration = duration
self.from_brick = from_brick
SpriteNode.init(self.name, position=from_brick.position)def __setattr__(name, duration, from_brick): SpriteNode.__setattr__(name, duration, from_brick)
It actually must display a Powerup on the screen.
Don't worry about the from_brick.position attribute in the init function, the from_brick attribute of my class must be a SpriteNode.Notice: I have done all the indents, but they may be not displayed, don't worry.
Here is how I call the class to create a Powerup:
pup = Powerup("plf:Item_Star", 30, brickOnScreen)
The brickOnScreen variable was defined.
Gives a TypeError, that init() takes 3 arguments, but 4 were given (The error bookmark points at the line where I assign the class to the pup variable.
Thanks for your answers, programmers!
-
RE: Pausing inside classes with "Scene" object
Thanks, @chriswilson!
I have noticed about the Action.wait() method before you answered (but later than posting this question), but still thanks for your support. I already got all the information I wanted and expected, so I don't need concrete suggestions on concrete topics.
I'm going to post a new question soon, and I'll be happy to get supported by you on it, again Thanks!
-
Pausing inside classes with "Scene" object
How do you pause the class with object "Scene" or "SpriteNode" for a certain amount of time, while leaving other classes to work?
I am not sure that time.sleep() does the job.
Thanks for your answers, programmers!