Dec-09-2018, 07:14 PM
hey i need help in my code to make an object move where i click with the mouse, please
moving objects
|
Dec-09-2018, 07:14 PM
hey i need help in my code to make an object move where i click with the mouse, please
Dec-09-2018, 07:20 PM
For start, post your code (in Python code tags).
Dec-09-2018, 07:24 PM
(This post was last modified: Dec-09-2018, 07:36 PM by Gribouillis.)
from graphics import* from math import sin, cos, radians class Balcao: def __init__(self, window, p1): self.mesa = Circle(p1, 100) self.mesa.setFill('brown') self.chao = Circle(p1, 50) self.chao.setFill('white') self.mesa.draw(window) self.chao.draw(window) self.balcao = [self.mesa, self.chao] class Mesa: def __init__(self, window, p2, p3): self.mesa = Rectangle(p2, p3) self.mesa.setFill('black') self.mesa.draw(window) self.table = [self.mesa] class Robot: def __init__(self, window, center, radius): self.tola = Circle(center, radius) self.tola.setFill('purple') self.tola.draw(window) def mesas(win): mesa1 = Mesa(win, Point(640, 445), Point(580, 385)) mesa2 = Mesa(win, Point(640, 260), Point(580, 320)) mesa3 = Mesa(win, Point(640, 135), Point(580, 195)) mesa4 = Mesa(win, Point(540, 60), Point(600, 0)) mesa5 = Mesa(win, Point(415, 60), Point(475, 0)) mesa6 = Mesa(win, Point(290, 60), Point(350, 0)) mesa7 = Mesa(win, Point(165, 60), Point(225, 0)) mesa8 = Mesa(win, Point(40, 60), Point(100, 0)) mesa11 = Mesa(win, Point(0, 445), Point(60, 385)) mesa10 = Mesa(win, Point(0, 260), Point(60, 320)) mesa9 = Mesa(win, Point(0, 135), Point(60, 195)) mesa12 = Mesa(win, Point(290, 210), Point(350, 270)) class Docstation: def _init_(self, win): self.ds = Rectangle(Point(100, 480), Point(200, 470)) self.ds.setFill('green') self.ds.draw(window) class Robot: def __init__(self, window, center, size): handSize = .15* size handOff = size handSize = size *.15 handOff = size self.head = Circle(center, size) self.head.draw(window) self.leftHand = Circle(center, handSize) self.leftHand.move(-handOff, -handOff) self.rightHand = Circle(center, handSize) self.rightHand.move(handOff, -handOff) self.leftHand.draw(window) self.rightHand.draw(window) self.cara = [self.head, self.rightHand, self.leftHand] def movrobot(self, dx, dy): # for i in range(1000): for i in range(80): #x = self.window.getMouse() #self.head.move() #if self.head.getCenter().getX()+size<=100: dy = 0 dx = 1 for i in range(40): dx=0 dy=-1 if self.head.getCenter().getY()-size>=415: dx = 0 dy = -1 self.cara[x].move(dx, dy) update(300) def main(): win = GraphWin("cafe central", 640, 480) balc1 = Balcao (win, Point(320, 480)) mesas(win) robot = Robot(win, Point(320, 360), 15) ponto=win.getMouse() x,y=ponto.getX(),ponto.getY() movrobot() win.getMouse() win.close() main()
Dec-09-2018, 07:37 PM
j.crater asked you to use python and output tags when posting code and results. I put them in for you this time. Here are instructions for doing it yourself next time.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness. Recommended Tutorials: BBCode, functions, classes, text adventures
x does not change, nor does dx or dy (in statement below). Create a simple example that you can test with first. The problem here is not that you can't move the object, the problem is that you have 100+ lines of code that have not been tested.
self.cara[x].move(dx, dy) |
|
Possibly Related Threads… | |||||
Thread | Author | Replies | Views | Last Post | |
Moving with objects simultaneously | kom2 | 1 | 3,820 |
Apr-20-2019, 07:12 PM Last Post: SheeppOSU |