Тема 111(10):  Графічні примітиви об'єкти Canvas

План вивчення теми:

Д/з: опрацювати:

from tkinter import *

from random import randrange as rnd, choice

root = Tk()

root.geometry('600x600+100+100')

canv = Canvas(bg='white')

canv.pack(fill=BOTH,expand=1)


vx = 2; vy = 1; r = 10

x = 300 ; y = 300

canv.create_rectangle(50-r,50-r,550+r,550+r)

def update():

    global x,y,vx,vy

    x += vx

    y += vy

    if x > 550:

        vx *= -1        

        x = 550 # щоб зображення м'яча не виходило за рамку

    if x < 50:

        vx *= -1

        x = 50 # щоб зображення м'яча не виходило за рамку

    if y > 550:

        vy *= -0.6        

        y = 550

        vx *= 0.6

    vy += 1

         

    canv.delete('ball')

    canv.create_oval(x-r,y-r,x+r,y+r,fill='orange', tag = 'ball')

     

    root.after(30,update)


def click(event):

    global vy,vx

    dx = event.x - x

    dy = event.y - y

    if dx != 0 and dy != 0:

        vx = 20*(dx/abs(dx))

        vy = 20*(dy/abs(dy))

     

canv.bind('<1>',click)


update()

root.mainloop()

Увага!  Під час роботи з комп'ютером дотримуйтеся вимог БДЖ та санітарно-гігієнічних норм.

Посилання на On-line-середовищe Python https://repl.it

Створення 1 м'ячика:

рух кульки:

import time

переміщення кульки по х на 5 пікселів і по у на 5 пікселів

переміщення кульки (допрацьоване)

відскакування кульки від нижньої стінки вікна:

дописування коду відбиття від трьох івнших меж вікна

import random

задання випадкових координат появи кульки

задання випадкового кольору кульки

код для генерації кодів кольорів замість рядка COLORS=......

Увага!  Під час роботи з комп'ютером дотримуйтеся вимог БДЖ та санітарно-гігієнічних норм.

Посилання на On-line-середовищe Python https://repl.it