python kivy canvas_python – Kivy:使用canvas为动画设置动画的正确方法是什么?
我不完全了解如何正确使用画布与动画图像.
请参阅附件中的代码片段,我将动画图标加载到图片中并同时执行以下操作:
(1)add_widget图片
(2)创建一个带有texture = Image纹理的Rectangle画布指令
图像动画
矩形纹理没有
我已经阅读了所有Kivy手册并阅读了Image和Canvas,我认为Image是一个很好的高级类,所有这些图像动画处理和Canvas更像是一个原始的低级绘图画布.
所以这是我的问题 – 在Canvas上处理动画的Kivy正确架构是什么?我看了动画,但这似乎更像矩阵般的动画,如平移,缩放,旋转.
这是我现在正在做的事情:
我有一个带有大地图窗口的游戏,然后是辅助窗口中的一堆游戏用户体验
游戏UX助手窗口我做所有kivy布局等,并使用一般图像,所以我的图标很好地动画
但是在游戏地图中,我使用的是canvas:
使用此范例绘制我的所有游戏对象:
r=Rectangle(texture=some_Image.texture)
map.canvas.add(r)
当世界需要重新绘制时:
1)map.canvas.clear()
2)在新的位置和状态中绘制所有的东西
(为了更快,我应该只追踪肮脏的物体和位置,然后绘制它们,但老实说,即使每次抽奖时核心级别清晰,我也会获得出色的fps)
这当然比创建和销毁数百个小部件类要快得多,重量轻 – 地图画布用于什么 – 对吧?
但问题是我在zip文件中带动画的图标不是动画
问:我认为画布错了吗?我应该为每个游戏对象添加一个图像吗? (并利用所有动画图像支持?)
from kivy.uix.relativelayout import RelativeLayout
from kivy.uix.image import Image
from kivy.app import App
from kivy.graphics import Rectangle
class MainApp(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.root = RelativeLayout()
# use any zip file of an animated image
self.animated_icon = Image(source='factory_icon.zip')
# If I add an Image, the icon animates
self.root.add_widget(self.animated_icon)
# If I add the Image's texture on to a Rectangle instruction, no animation
r = Rectangle(texture=self.animated_icon.texture, size=(100, 100), pos=(100, 100))
self.root.canvas.add(r)
def build(self):
return self.root
if __name__ == '__main__':
MainApp().run()
python kivy canvas_python – Kivy:使用canvas为动画设置动画的正确方法是什么?相关推荐
- Silverlight学习笔记三(鼠标点击动态画直线|动态设置Ellipse的Canvas.Top与Canvas.Left|动态设置Stroke属性的方法。)...
我有可能需要把AutoCAD的部分功能搬到浏览器上,先练习一下画直线的方法.如图: MainPage.xaml代码: 大气象 <UserControl x:Class="DrawLin ...
- python做散点图界面_python – 如何为散点图设置动画?
假设你有一个散点图,scat = ax.scatter(-),那么你可以 >改变立场 scat.set_offsets(array) 其中数组是x和y坐标的N x 2形数组. >改变大小 ...
- python分割字符串中文_python 分割中文英文混合字符串的正确方法
python 里的字符编码不统一导致中英文的处理有不同的结果,下面介绍中文英文混合字符串 split 的方法. 分割词 #!/usr/bin/env python # -*- coding: utf- ...
- 【Flutter】Animation 动画 ( AnimatedBuilder 动画使用流程 | 创建动画控制器 | 创建动画 | 创建动画作用的组件 | 关联动画与组件 | 动画执行 )
文章目录 ◯.AnimatedBuilder 引入 一.创建动画控制器 二.创建动画 三.创建动画作用的组件 四.创建 AnimatedBuilder 关联动画与组件 五.动画运行 六.完整代码示例 ...
- 【Flutter】Animation 动画 ( AnimatedWidget 动画使用流程 | 创建动画控制器 | 创建动画 | 创建 AnimatedWidget 动画组件 | 动画运行 )
文章目录 ◯.AnimatedWidget 组件引入 一.创建 AnimatedWidget 动画组件 二.创建动画控制器 三.创建动画 四.动画运行 五.完整代码示例 六.相关资源 Animated ...
- 【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 )
文章目录 一.创建动画控制器 二.创建动画 三.设置值监听器 四.设置状态监听器 五.布局中使用动画值 六.动画运行 七.完整代码示例 八.相关资源 Flutter 动画基本流程 : ① 创建动画控制 ...
- 【Flutter】Animation 动画 ( Flutter 动画的核心类 | Animation | CurvedAnimation | AnimationController | Tween )
文章目录 一.动画的核心类 Animation 二.动画的核心类 CurvedAnimation 三.动画的核心类 AnimationController 四.动画的核心类 Tween 五.相关资源 ...
- 第三章 Python Kivy 学习 -- Kivy官方入门教程Pong Game
系列文章目录 第一章 Python Kivy 学习 – Kivy介绍及环境安装 第二章 Python Kivy 学习 – Kivy项目开发原理(待编辑) 第三章 Python Kivy 学习 – Ki ...
- python编程(Kivy 安装及使用教程)
Kivy是一个很优秀的,基于Python的GUI库,可以利用Python快速编程的特点,快速的编写windows, linux, mac, android, ios等主流平台的应用程序.同wxPyth ...
最新文章
- git常用命令的使用
- mysql 查询某字段值全是数字
- Android: BaseAdapter 实现分页
- python 字符串格式符
- mysql在计算机管理中的路径怎么修改_Rstudio中修改工作路径的三种方法
- 40行中的持久性KeyValue Server和一个可悲的事实
- [scikit-learn 机器学习] 3. K-近邻算法分类和回归
- 在c语言中预处理命令行都以井号开头,以井号开头的行和gcc预处理器输出中的'#1“ac”'之类的数字是什么意思?...
- sqlserver函数 1209
- Osql\sqlcmd工具管理 SQL Server
- Asp.net网站如何播放Flv视频
- BEAMnrc参数设置_MainInputs(3)
- mybatis使用log4j
- Android Stdio4.1.1版本使用问题
- 淘宝店铺的装修是店铺的门面,如何进行淘宝店铺装修?需要注意的点有哪些?
- 阿里小蜜这一年,经历了哪些技术变迁?
- 组卷与考试系统_题库添加选择题模块
- 后台管理UI集合--你知道哪些
- MeshLab 2022.02 源码编译教程
- .NET开发十大常用工具软件分享
热门文章
- python3怎么安装mysql_Python3下mysqlclient的安装和使用
- 数据可视化的图表实现
- centos7安装xterm_CentOS 7使用x-manager中Xstart工具报缺少xterm包错误
- python的django框架http请求_python django框架(一)
- python万年历_python万年历
- SpingMVC Model 和ModelAndView,以及从参数的设置和接收
- python快速运算符_Python基本运算符
- Win32下显示、隐式加载DLL的方法
- client中周期性边界_RVE周期性边界条件施加
- Abp VNext 项目创建简介