第一百五十回 自定义组件综合实例:游戏摇杆一

2023-09-21 21:59:43


我们在上一章回中介绍了自定义组件相关的内容,本章回中将综合使用这些内容 自定义游戏摇杆组件.闲话休提,让我们一起Talk Flutter吧。

概念介绍

我们介绍的游戏摇杆就是一个内层的小圆嵌套一个外层的大圆,大圆的位置不变,小圆只能在大圆所在的范围进行移动,它移动的角度是360度,因此在游戏中使用摇杆来控制物体或者人物的移动方向。如果大家不理解的话可以参考下面的程序运行效果图。本章回中将介绍如何通过自定义组件的知识实现这个摇杆。
在这里插入图片描述

实现方法

正所谓温故而知新,我们先回顾一下前面章回中介绍了自定义组件相关的知识,这个知识包含:组合使用多个组件、CustomPaint自定义组件、在自定义组件中响应手势事件这三方面的知识,这三方面的知识,我们在前面章回中刚刚介绍过,如果有看官忘记的话可以去看看。本章回中我们将综合使用这三方面的知识来实现一个综合示例:游戏摇杆

我们先介绍一下实现摇杆的思路:使用两个大小不同的圆形叠加在一起,它们可以响应手势事件,让小圆跟着手势在大圆所在范围内移动,这样便实现了摇杆。

我们接着介绍一下该思路中

更多推荐

Vue3.3 新特性 - 初体验

前言Vue3.3是Vue.js框架的最新版本,它带来了一些令人兴奋的新特性和改进。本文将对一些重要的新特性进行简要介绍,并通过示例代码进行说明。CompositionAPIVue3.3引入了CompositionAPI,这是一个全新的API风格,旨在提供更好的代码组织和可重用性。与之前的OptionsAPI相比,Com

BabelEdit 5.0.1 Crack

BabelEdit加强软件本地化。BabelEdit是处理json、yaml、php、arb、vue、properties、resx或xliff翻译文件的可靠解决方案。旨在使开发过程更加简化和高效。下载BabelEdit5.0.0对于Windows也适用于macOS和LinuxBabelEdit-适用于Web和应用程序

React核心概念

JSX基础语法在React中,使用JSX来描述页面。使用JSX来描述页面时,有如下的一些语法规则:根元素只能有一个JSX中使用JavaScript表达式。表达式在花括号{}内属性值指定为字符串字面量,或者在属性值插入一个JavaScript表达式style对应样式对象,class要写作className注释需要写在花括

gin 基本使用

gin初体验import("net/http""github.com/gin-gonic/gin")funcmain(){r:=gin.Default()r.GET("/ping",func(c*gin.Context){c.JSON(http.StatusOK,gin.H{"message":"pong",})})r

ESP32C3 PWM输出

目前对于遥控双发差速小飞机计划采用如下架构:ESP32C3做主控,兼具遥控收发和飞行控制锂电池供电,带电量检测双发,720空心杯电机,55mm桨,带电流检测MPU6050加速度计和陀螺仪预留4个控制信号输出马达控制要用到pwm,今天把esp32c3的pwm跑一下。简介esp32c3中把pwm外设称为“LEDPWM控制器

Qt重写QTreeWidget实现拖拽

介绍此文章记录QTreeWidget的重写进度,暂时停滞使用,重写了QTreeWidget的拖拽功能,和绘制功能,自定义了数据结构,增加复制,粘贴,删除,准备实现动态刷新数据支持千万数据动态刷新,重写了部分代码,重写了滑块拖拽但是有bug。效果展示实现功能实现了自定义节点类来存储数据。item采用Label来实现富文本

C++数据结构题:DS 顺序表--连续操作

建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)该类具有以下成员函数:构造函数:实现顺序表的初始化。插入多个数据的multiinsert(inti,intn,intitem[])函数,实现在第i个位置,连续插入来自数组item的n个数据,即从位置i开始插入多个数据。删除多个数据的multidel(i

JAVAEE初阶相关内容第十二弹--多线程(进阶)

目录一、JUC的常见类1、Callable接口1.1callable与runnable1.2代码实例(1)不使用Callable实现(2)使用Callable实现1.3理解Callable1.4理解FutureTask2、ReentrantLock2.1ReentrantLock的用法2.2ReentrantLock优

中科院预警名单

2023年预警名单(fenqubiao.com)如果论文投稿到中国科学院预警期刊,可能会面临以下情况:1.预警期刊一般审稿周期长,容易出现迟迟不见回音的情况。2.这类期刊的学术质量参差不齐,接受论文的学术标准可能不严格。3.预警期刊发表论文的学术影响力比较有限,不容易为作者带来高引用率和知名度。4.在中国的一些高校和科

新版考勤管理系统正式发布

O2OA(翱途)开发平台V8.1版本,因老的考勤管理系统已经无法满足用户需求,并且在架构和业务结构上都不再符合现在大多数考勤功能的需求。我们对考勤管理重新进行了开发,全新的版本更好用,更直观。考勤管理对员工的工作出勤情况进行记录、分析和报告的过程。它是对员工工作表现评估的重要依据,也是企业管理中的重要组成部分。考勤管理

多线程的学习上篇

座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物.引入进程这个概念的目的引入进程这个概念,最主要的目的,是为了解决“并发编程"这样的问题.这是因为CPU进入了多核心的时代要想进一步提高程序的执行速度,就需要充分的利用CPU的多核资源其实,多进程编程,已经可以解决并发编程的问题了.已经可以利用起来CPU多核资源了.

热文推荐