首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >创建教育动画的框架

创建教育动画的框架
EN

Stack Overflow用户
提问于 2009-07-12 12:43:05
回答 1查看 358关注 0票数 0

很多时候,我发现我需要一个软件来创建简单的教育动画。在这些动画中,我想逐一画一系列简单的动画。

例如,我想展示一个n皇后问题的回溯算法是如何工作的。在这种情况下,我想画一个棋盘,在左上角的正方形上画一个皇后,然后在它旁边的正方形上画另一个皇后,然后第二个皇后向下画,直到它没有受到第一个皇后的威胁,然后添加第三个皇后等等。参见此页,例如java applet。

我试着用我在网络上找到的免费的可视化框架来编写这些程序,比如processing.org和各种HTML-画布包装,但是我所缺少的主要东西是一个可以根据我的命令显示/指导动画的对象。

例如,在处理过程中,如果我创建了一个名为" queen“的对象,该对象应该被绘制到屏幕上并像皇后那样移动。我不得不照顾自己:

  1. 将事件分派给皇后对象(例如,当用户悬停在它上面时,如果我想改变它的颜色)。
  2. 将皇后对象绘制到屏幕上。

因此,我不得不在主循环中编写表单的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def mainloop():
    for obj in DrawableObjects: obj.draw()
def onclick(e):
    for obj in ResponsiveObjects: obj.handleClick(e)

这是丑陋和重复!

我希望有一个动画框架,允许我使用自动绘制到屏幕上的对象(假设我将为它们定义z轴,解决交叉问题),如果我愿意的话,它将自动响应用户的交互。我想象的框架的一个示例代码是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class queen(DrawableObject):
    def __init__(self,boardX,boardY):
        self.boardX,self.boardY = boardX,boardY
        self.x = square_width*x+square_width/2
        self.y = square_height*y+square_height/2
    def draw(self):
        circle(x,y,radius)
    def move(self,direction_x,direction_y,squares):
        if direction_x
        #this would move the queen slowly to the desired direction
        self.boardX += direction_x*squares
        if self.boardX < 0:
             self.boardX = 0
             return
        #ditto for y
        ...
        #Let's pretend this function is blocking
        self.animated_transpose(
             direction_x*squares*square_width,
             direction_y*squares*squre_height
             )
    def delete(self):
        self.fadeOut()

当动画皇后,我将简单地创建一个新的皇后,并使用移动功能来移动它周围,而不担心太多的担心什么时候和地点把它。这个框架应该能帮我解决这个问题。这就是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def main():
    queens = []
    for i in range(8): queens.append(Queen(0,i))
    # find a solution by stupid random walk
    steps = 0
    while queens_threats_one_another(queens):
        queens[rand(8)].move(choose([-1,1],0,1)
        step += 1
    write_to_screen("did it with %d steps"%steps)

该框架还提供了其他一些很好的功能,这将是对网络友好的。也就是说,javascript、flash或Java。而且它是免费的。

这种(或类似的)框架是否存在?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-12 18:22:08

因为Flash的显示架构是基于对象的,所以它似乎非常适合于这类事情。也有许多动画库的Flash,使这种事情非常容易。

例如,假设您定义了一个Queen类,它扩展了内置的Sprite类。使用TweenLite库,在2秒钟内创建和移动皇后的代码如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var queen:Queen = new Queen();
queen.x = 100; // based on pixels, but you could easily create a square-to-pixel conversion
queen.y = 100;
addChild(queen); // assuming this code is in another DisplayObject, such as the stage

TweenLite.to(queen, 2, {x:200, y:300});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1116873

复制
相关文章
【Flutter】Animation 动画 ( AnimatedWidget 动画使用流程 | 创建动画控制器 | 创建动画 | 创建 AnimatedWidget 动画组件 | 动画运行 )
在上一篇博客 【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 ) 中 , 使用动画时 , 需要给动画添加值监听器 , 每当动画值更新后 , 都会回调该监听器 , 在监听器的回调方法中 , 需要调用 setState 方法 , 将该动画值设置给组件 ;
韩曙亮
2023/03/29
2K0
【Flutter】Animation 动画 ( AnimatedWidget 动画使用流程 | 创建动画控制器 | 创建动画 | 创建 AnimatedWidget 动画组件 | 动画运行 )
【Flutter】Animation 动画 ( AnimatedBuilder 动画使用流程 | 创建动画控制器 | 创建动画 | 创建动画作用的组件 | 关联动画与组件 | 动画执行 )
在上一篇博客 【Flutter】Animation 动画 ( AnimatedWidget 动画使用流程 | 创建动画控制器 | 创建动画 | 创建 AnimatedWidget 动画组件 | 动画运行 ) 中 , 使用了 AnimatedWidget 组件实现动画 , 省略了手动添加监听器 , 并在监听器中手动调用 setState 更新动画的操作 ;
韩曙亮
2023/03/29
1.8K0
【Flutter】Animation 动画 ( AnimatedBuilder 动画使用流程 | 创建动画控制器 | 创建动画 | 创建动画作用的组件 | 关联动画与组件 | 动画执行 )
初识属性动画——使用Animator创建动画
ViewAnimation只支持几种动画:scale、transition、rotate、alpha四种类型。并且缺陷是只是改变了显示位置,实际位置并没有改变。 一个demo解释一切,如下图:
用户1108631
2019/08/17
7340
使用Matplotlib创建动画
Matplotlib是一个强大的Python绘图库,但许多人可能不知道它能够创建动画图。
fanjy
2022/04/13
1.5K0
使用Matplotlib创建动画
【Flutter】Hero 动画 ( Hero 动画使用流程 | 创建 Hero 动画核心组件 | 创建源页面 | 创建目的页面 | 页面跳转 )
Hero Widget 动画效果 : Hero 通过动画从 源界面 运动到 目标界面 时 , 目标界面 透明度逐渐增加 , 淡入显示 ;
韩曙亮
2023/03/29
9680
【Flutter】Hero 动画 ( Hero 动画使用流程 | 创建 Hero 动画核心组件 | 创建源页面 | 创建目的页面 | 页面跳转 )
[UWP]使用SpringAnimation创建有趣的动画
最近用弹簧动画(SpringAnimation)做了两个番茄钟,关于弹簧动画官方文档已经介绍得够详细了,这篇文章就摘录一些官方文档核心内容。
dino.c
2019/11/12
8680
[UWP]使用SpringAnimation创建有趣的动画
Android创建启动画面
每个Android应用启动之后都会出现一个Splash启动界面,显示产品的LOGO、公司的LOGO或者开发者信息。如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段枯燥的时间。
战神伽罗
2019/07/22
8750
UWP 创建动画的极简方式 — LottieUWP
提到 UWP 中创建动画,第一个想到的大多都是 StoryBoard。因为 UWP 和 WPF 的界面都是基于 XAML 语言的,所以实现 StoryBoard 会非常方便。 来看一个简单的 StoryBoard 例子: <Page...> <Grid x:Name="grid"> <Grid.Resources> <Storyboard x:Key="demoStoryBoard" AutoReverse="True" RepeatBehavior="For
Shao Meng
2018/04/28
1.6K0
UWP 创建动画的极简方式 — LottieUWP
React 动画框架简介
由于 React 加持了虚拟 DOM 等诸多特性,所以在 React 上实现常规的动画效果有一些特别之处。本文不会深入探讨 React 对动画的处理逻辑,只会简单地演示如何使用 React 创建动画效果。 React 插件 React 官方提供了两个插件用于处理动画效果:一个是偏底层的 react-addons-transition-group,一个是在前者基础上进一步封装的 react-addons-css-transition-group。在使用它们之前,需要先检查下你使用的是哪种类型的 React 版
xiangzhihong
2018/01/26
1.4K0
使用GSAP创建惊艳的动画效果(一)
GSAP语法由三部分组成,分别是方法、目标和变量,其调用格式为gsap.to( “.box” ,{ x:200 })各部分含义如下图所示:
九仞山
2023/10/14
3.5K0
使用GSAP创建惊艳的动画效果(一)
直播动画框架探索
直播场景下(动画时间短,播放频率高),主要考虑资源占用: Lottle 因为要在绘制时间计算一些高阶曲线导致绘制效率比较低,并且动画资源文件比较大; SVGA动画资源更小,由于是一帧一帧绘制,并且复用图片,所以在直播场景下资源占用更加小;
雁字回时
2022/12/13
6650
创建和使用逐帧动画
AnimationDrawable可以用来创建一个新类是由一个表示Drawable资源-frame动画,可以使用XML。在的应用res/drawable讲动画目录Drawable资源定义为外部资源。
全栈程序员站长
2022/07/05
3650
创建简单动画(一) --- 常规hud
先说下当前我为处理动画的思路: (新手上路, 老司机轻喷,如果有更好的实现方法请大神指教 感恩戴德)
周希
2019/10/15
6210
创建简单动画(一) --- 常规hud
React 动画框架简介
由于 React 加持了虚拟 DOM 等诸多特性,所以在 React 上实现常规的动画效果有一些特别之处。本文不会深入探讨 React 对动画的处理逻辑,只会简单地演示如何使用 React 创建动画效果。 React 插件 React 官方提供了两个插件用于处理动画效果:一个是偏底层的 react-addons-transition-group,一个是在前者基础上进一步封装的 react-addons-css-transition-group。在使用它们之前,需要先检查下你使用的是哪种类型的 React 版
xiangzhihong
2018/02/06
1.4K0
React 动画框架简介
【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 )
文章目录 一、创建动画控制器 二、创建动画 三、设置值监听器 四、设置状态监听器 五、布局中使用动画值 六、动画运行 七、完整代码示例 八、相关资源 Flutter 动画基本流程 : ① 创建动画控制
韩曙亮
2023/03/29
1.4K0
【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 )
如何使用 AngularJS 创建出色的动画效果?
AngularJS 是一款功能强大的前端 JavaScript 框架,它提供了丰富的功能和工具,使得开发者能够轻松构建交互式的单页面应用程序(SPA)。其中一个重要的特性就是动画。AngularJS 提供了一套强大的动画系统,使得开发者能够创建各种各样的动画效果,以增强用户体验并提高应用程序的吸引力。
网络技术联盟站
2023/07/05
2260
【QT】图形视图、动画框架
Qt提供了图形视图框架(GraphicsView Framework)、动画框架(The Animation Framework)、状态机框架(The State Machine Framework)来实现更加高级的图形与动画应用。使用这些框架可以快速设计出动态GUI应用和各种动画、游戏程序。
半生瓜的blog
2023/05/13
1.6K0
【QT】图形视图、动画框架
如何使用纯 CSS 创建翻牌动画
下面的示例向您展示了如何使用纯 CSS 创建翻牌动画。 “作者:坚果 华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。” chip HTML <body> <h1>大前端之旅</h1> <h3>Flipping Card: An Example</h3> <div class="card"> <div class="ca
徐建国
2022/03/30
1.4K0
如何使用纯 CSS 创建翻牌动画
点击加载更多

相似问题

用于教育目的的基于Web的动画库

13

适用于教育网站的CMS框架

31

无法在AWS教育中创建IAM

14

为教育表单创建可解锁的内容

11

创建动画加载框架w/条件未动画启动屏幕

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文