Day 24:程序「动」起来

Projucer 支援另一类型的专案——Animated。与一般的 GUI 专案不同处之一是,MainComponent 不再继承 Component,改继承 juce::AnimatedAppComponent

juce::AnimatedAppComponent 提供一些与 Animation 有关的函数,用以简化 Animation 应用程序开发。setFramesPerSecond 设定 AnimatedAppComponent 中的相关函数间隔多久被呼叫。

底下是 Projucer 建立的 Animated 专案中的 MainComponent 程序码片段:

MainComponent::MainComponent()
{
  setSize (800, 600);
  setFramesPerSecond (60); // This sets the frequency of the update calls.
}

void MainComponent::update()
{
}

void MainComponent::paint (juce::Graphics& g)
{
  g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId));
}

MainComponent 建构式先设定以 60 FPS 的频率更新程序。update 成员函数会在时间到时被呼叫,paint 也是如此。於是,在两个函数中处理需要被改变的物件,例如更新图片或移动 Component 位置等,便可达到动态效果。

除此之外,JUCE 另提供了一些类别,也可达到动态效果。例如 ComponentAnimator,提供简单的介面控制 Component 的外观。


<<:  谁比谁长,回圈和 reduce 用法,Ruby 30 天刷题修行篇第十话

>>:  [Day 10]怎麽每天都像在赶末班电车R(後端篇)

[Lesson6] Fragment

首先新增一个Fragment,名称为BlankFragment 再新增一个Package,名称为me...

安装 + 最最最基本的Hello world

简介 什麽是Python Python本意是指蟒蛇,是一种面相对象的解释型语言 人生苦短,我学Pyt...

改变的三面向

早起运动Day7 - 关於改变的秘密​ ​ 「他就是这样,很难改变。」​ 这两天在看《内在动机》《被...

Day43 ( 电子元件 ) 触碰开灯 ( 引脚按下 )

触碰开灯 ( 引脚按下 ) 教学原文参考:触碰开灯 ( 引脚按下 ) 这篇文章会介绍如何使用「当引脚...

Day28 vue.js搜寻栏 分页(pagination)功能

延续昨日 今天我们且战且走 首先先把最简单的排序专案方法搞定 先创一个sortby function...