抖音小游戏画图位置移动

news2024/11/24 5:07:38

文章目录

      • 画图
      • 移动图形位置

画图

const canvas = tt.createCanvas();
const context = canvas.getContext('2d');

context.width = 500;
context.height = 500;

let isPressing = false; // 是否按下
let startX = 0;
let startY = 0;

context.fillStyle = "#f00";
context.fillRect(0,0,100,100);

//点击鼠标事件
tt.onTouchStart((e)=>{
  // onTouchMove(e)
  console.log('onTouchStart:',e.touches[0].clientX)
  startX = e.touches[0].clientX
  startY = e.touches[0].clientY
  isPressing = true;
})
//鼠标移动
tt.onTouchMove((e)=>{
  console.log('onTouchMove:',e.touches[0].clientX)
  const touch = e.touches[0];
  const dx = touch.clientX - startX;
  const dy = touch.clientY -startY;
  // console.log('dx:',dx,'dy:',dy)
  // context.clearRect(startX,startY,100,100);
  context.fillStyle = '#f00';
  context.fillRect(dx,dy,100,100)
})

在这里插入图片描述
在这里插入图片描述

移动图形位置

const canvas = tt.createCanvas();
const context = canvas.getContext('2d');

context.width = 500;
context.height = 500;

let isPressing = false; // 是否按下
let startX = 0; //初始位置
let startY = 0; //初始位置

let moveStartX = 0; //移动后的位置
let moveStartY = 0; //移动后的位置

context.fillStyle = "#f00";
context.fillRect(0,0,100,100);

tt.onTouchStart((e)=>{
  // onTouchMove(e)
  console.log('onTouchStart:',e.touches[0].clientX)
  startX = e.touches[0].clientX
  startY = e.touches[0].clientY
  isPressing = true;
})
tt.onTouchMove((e)=>{
  console.log('onTouchMove:',e.touches[0].clientX)
  const touch = e.touches[0];
  const dx = touch.clientX -50; //无论如何要在中心点,根据图像大小来定义
  const dy = touch.clientY -50; //无论如何要在中心点,根据图像大小来定义
  // console.log('dx:',dx,'dy:',dy)
  // context.clearRect(startX,startY,100,100);
  context.clearRect(moveStartX,moveStartY,100,100)
  context.fillStyle = '#f00';
  context.fillRect(dx,dy,100,100)
  moveStartX = dx;
  moveStartY = dy;
})


在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2209235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

@zabbix监控网站黑链接监控及数据推送

zabbix监控网站黑链接及数据推送 文章目录 zabbix监控网站黑链接及数据推送1.检测脚本1》编写python脚本2》脚本执行 2.数据推送1》方案一2》方案二 3.zabbix web 1.检测脚本 1》编写python脚本 创建脚本check_black_links.py,使用python脚本实现网站黑链接检测&a…

93. 复原 IP 地址【回溯】

文章目录 93. 复原 IP 地址解题思路Go代码 93. 复原 IP 地址 93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" …

Datawhale组队学习|全球AI攻防挑战赛——赛道二:AI核身之金融场景凭证篡改检测

目录 前言Baseline代码解读 前言 Datawhale 2024.10 组队学习来了!这次选择的是动手实践专区——CV方向——“全球AI攻防挑战赛—赛道二:AI核身之金融场景凭证篡改检测”。 Baseline代码解读 1、读取数据集 !apt update > /dev/null; apt install…

美团测试面试真题学习

美团真题1–测试基础-业务场景说下你的测试用例设计 功能角度 方法论 边界值、等价类划分、错误推测法示例 输入已注册的用户名和正确的密码,验证是否登录成功;输入已注册的用户名和不正确的密码,验证是否登录失败输入未注册的用户名和任意密码&#xff…

Win10自带录屏神器?这4款工具让你秒变剪辑达人!

小伙伴们,随着电子设备使用率越来越高,日常工作中我们需要进行一些操作的演示,或者是游戏中精彩的瞬间都希望录下来,那就少不了好用的录屏工具了。这次我来跟大家聊聊Windows 10自带的那些让人惊艳的录屏工具。这不仅仅是我个人推…

Halcon 3D应用 - 胶路提取

1. 需求 本文基于某手环(拆机打磨处理)做的验证性工作,为了项目保密性,只截取部分数据进行测试。 这里使用的是海康3D线激光轮廓相机直线电机的方式进行的高度数据采集,我们拿到的是高度图亮度图数据。 提取手环上的胶…

IBM Flex System服务器硬件监控指标解读

随着企业IT架构的日益复杂,服务器的稳定运行对于保障业务连续性至关重要。IBM Flex System作为一款模块化、可扩展的服务器解决方案,广泛应用于各种企业级环境中。为了确保IBM Flex System服务器的稳定运行,监控易作为一款专业的IT基础设施监…

[Linux#65][TCP] 详解 延迟应答 | 捎带应答 | 流量控制 | 拥塞控制

目录 一、延迟应答 二、捎带应答 三. 流量控制 总结 四. 拥塞控制 1. 拥塞控制 2. 慢启动机制: 3.思考 4.拥塞避免算法 5. 快速恢复算法 一、延迟应答 1. 立即应答问题 接收数据的主机若立刻返回ACK应答,可能返回的窗口较小。例如&#xff1…

数字化转型新引擎:中小企业信息化建设的破局与未来-亿发

随着全球数字经济的蓬勃发展,信息化建设已成为企业提升竞争力、提高运营效率的重要途径。中小企业作为经济的重要组成部分,也逐步认识到信息化的重要性。然而,尽管中小企业在信息化方面有强烈的需求,但在实际推进过程中却面临诸多…

简单粗暴理解GNN、GCN、GAT

GNN 思想:近朱者赤近墨者黑 GNN的流程: 聚合(把邻居的信息贴到自己身上来,作为它自己特征的补足)更新循环(为什么要多次?看以下例子) GNN能干嘛? 1.结点分类&#xf…

Windows系统最高分辨率(单边16384)

11520*216024883200 来源: 2017-04-08【【极客湾】双路核弹?三屏4K?终极Geforce的究极测试!】 【精准空降到 02:45】 https://www.bilibili.com/video/BV1tx411S7MU/?t165 2020-12-09【用三台8K电视玩游戏!能成功吗&a…

【Linux】嵌入式Linux系统的组成、u-boot编译

Linux—嵌入式Linux系统的组成、u-boot编译 前言一、嵌入式Linux系统的组成1.1 嵌入式Linux系统和PC完整的操作系统的对比如下:1.2 PC机—Windows系统启动流程(PC机—Linux系统、嵌入式ARM—linux系统的启动流程类似) 二、编译u-boot2.1 u-bo…

测试质量报告=测试报告?当然不是!

测试报告大家都大概知道怎么做,但是质量报告呢,说起来到底与测试报告有什么不同? 仔细思考,其实这两种报告之间的差异还是比较直观的。 测试报告 更多是以测试为出发点,关注测试工作的背景、过程、完成度和结果。当…

Qt-系统处理定时器相关事件(59)

目录 描述 使用 描述 qt进行了封装,之前也使用过了 使用 先创建一个定时器 原型 这个事件是继承自 QObject 的,Widget 是继承 QObject 的,所以我们能够直接使用 重写 如下重写过后的定时器事件,正常倒计时了

rpc中常用的数据格式:Protobuf 图文详解

概述 protobuf也叫protocol buffer,是google 的一种数据交换的格式,它跨语言、跨平台。可以实现多种语言文件的数据传输实现(java、c#、c、go 和 python 等),如一个cpp程序和一个python程序的数据传输。 由于它是一种…

Linux下以编译源码的方式安装Qt5与Qt6及其使用

文章目录 概要资源下载依赖安装编译Qt5Qt6 遇到的问题qtchooser使用 概要 自 Qt 5.15 开始,不再提供 open source offline installers,也就是原来的 .run 的安装文件,只能通过源码编译来安装了参考文章 资源下载 源码网址,链接…

【C语言复习】分支和循环

【C语言复习】分支和循环 1. if语句1.1 if1.2 else1.3分支中包含多条语句1.4嵌套if1.5悬空else问题 2.关系操作符3. 条件操作符4.逻辑操作符:&& 、|| 、!4.1 逻辑取反运算符4.2 与运算符4.3或运算符4.4 练习:闰年的判断4.5短路 5.switch 语句5.1…

【黑苹果】记录MacOS升级Sonoma的过程

【黑苹果】记录MacOS升级Sonoma的过程 一、硬件二、提前说明三、准备OC四、选择驱动五、选择ACPI六、下载内核扩展七、其他问题 一、硬件 设备是神舟zx6-ct5da 具体参照下图 二、提前说明 本机器已经安装过 macOS Monterey 12.6,这次是升级到 macOS Sonoma 14。 …

GoogLeNet,代码示例,辅助分类器,Inception

亮点: 引入了Inception结构(融合不同尺度的特征信息) 使用1x1的卷积核进行降维以及映射处理 添加两个辅助分类器帮助训练 丢弃全连接层,使用平均池化层(大大减少模型 参数) GoogLeNet的网络连接图&…

LInux学习FreeType编程

文章目录 使用freetype 显示一个文字使用 freetype 显示一行文字了解笛卡尔坐标系每个字符的大小可能不同怎么在指定位置显示一行文字freetype 的几个重要数据结构1、**FT_Library**结构体2、FT_Face结构体3、FT_GlyphSlot结构体4、FT_Glyph结构体5、FT_BBox结构体 读懂显示一行…