python中canvas的用法,python canvas画圆

  python中canvas的用法,python canvas画圆

  专业视觉设计师,5年的B端产品经理职业生涯,最近热衷编程,追求全栈工程师,厚积薄发。动人的一个月玩弄大蟒图形用户界面。记录自学的过程,纯粹喜欢编程,与大家分享。

  我们先来看看简单的帆布动画。是桌面弹簧球

  源代码:

  导入键

  导入随机

  root=tkinter .Tk(

  root.title(「envent)。

  root.geometry(「400x3001010 ")

  HB=Tkinter.canvas(root,width=400,height=300,bg=#189fff ))

  hb.pack()。

  oval=HB.create _ oval (0,0,16,16,fill="red ",outline=" ")

  PZT=[ 0,1,1 ] #状态(0,1,2,3 )如下,随机移动x,随机移动y

  defcallback(canvas=HB,canvas_w=400,canvas_h=300,r=10,state=pzzt):

  zb=画布. Bbox(椭圆形)#获取小球坐标

  (条件(() ) ) ) ) )。

  ifzb[2]=canvas _ wor(zb[2]==canvas _ wand zb[3]==r):#向右碰撞-修正状态向左或碰撞NE;修正状态,向开关发送

  状态[0]=1

  state [1]=random.randint (1,2)))))))state[1]=random。randint(1,2)))

  state [2]=random.randint (1,2)))))))state[2]))state[2]))65

  elif zb[0]=0或(zb[0]==0和zb [2]==canvas _ h-r ) :#)左-修正状态右orSW修正状态,向氖发送

  状态[0]=0

  state [1]=random.randint (1,3)))))。

  state [2]=random.randint (3,6))))。

  elif zb[1]=0或(zb[0]==0和zb [1]==0) :#)与上边碰撞-修正状态为向下或与西北碰撞;修正状态,向东南发送

  状态[0]=2

  state [1]=random.randint (3,6)))))))))))))。

  state [2]=random.randint (1,3)))))))))))))))。

  elif zb[3]=canvas _ hor(zb[2]==canvas _ wand zb[3]==canvas _ h):#冲击下边-修正状态向上或冲击SE;修正状态,向西北

  状态[0]=3

  state [1]=random.randint (1,5))))))))。

  state [2]=random.randint (10,20))))。

  (运动(运动(运动(运动) )。

  如果状态[0]==0:

  canvas.move(oval,state[1],-state[2])右、上或翻译指正负

   否则如果状态[0]==1:

  canvas.move(oval,-state[1],state[2])左、下、SW-正负

   否则如果状态[0]==2:

  canvas.move(oval,state[1],state[2] ) #指向下、右、se—正

   否则如果状态[0]==3:

  指canvas.move(oval,-state[1],-state[2] ) #上、左、NW-负

  canvas.after(30,回调)).

  回调() )

  根。主循环(

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: