首页 > 其他分享 >如何在 Kitten 里绘制两个相邻的正方体并响应用户输入事件

如何在 Kitten 里绘制两个相邻的正方体并响应用户输入事件

时间:2023-02-18 20:55:59浏览次数:31  
标签:正方体 积木 Kitten 棱长 偏移量 kitten 绘制

效果:

按键盘的上下箭头,可以对正方体的棱长进行缩放。

按键盘的左右箭头,可以对最上面的面的倾斜角度进行调整。

按住键盘1,2,可以对正方体的斜边长度进行调整。

实现原理

变量水平方向偏移量,用于定义第一个正方体绘制完毕后,绘制第二个正方体的画笔起点的 x 坐标。这里的 y 坐标硬编码为 0.

这个偏移量的值永远等于立方体的棱长。

在绘制两个正方体的函数里,分别从(0,0)和(偏移量,0) 两个点开始绘制正方体。

当用户响应事件发生时,如果立方体棱长发生变化,记得同步更新水平方向的偏移量,使两个变量的值总是相同,然后清除画笔,让之前绘制的图形从 canvas 上消失,接着使用最新的棱长来绘制图形。

从最后保存的项目工程文件能够看出,kitten 里的变量很有意思,也能显示在画布上,不过大多数时候我们都将 visible 属性设置为 false,将其隐藏:

并且我们在项目里使用的音频文件,也是以 CDN 和嵌入的方式包含在内的。

kitten 编辑器里工具栏这些积木的顺序:

toolbox_order 这个数组里定义:

这个在线的 kitten 编辑器,需要 WebGL 的支持。

在背包里新建我的素材集:

可以将素材移动到背包里:

点击右键可以给积木添加全局注释:

点击某个积木,可以给其添加局部注释:

标签:正方体,积木,Kitten,棱长,偏移量,kitten,绘制
From: https://www.cnblogs.com/sap-jerry/p/17133567.html

相关文章

  • Kitten 动态绘制 Y 轴方向立方体的实现方法
    我们之前的实践里,已经探讨了在水平方向动态绘制立方体的积木搭建方法,如下图所示:接下来我们期望在Y轴方向也绘制立方体,如下图所示。其实只需要在水平方向依次绘制两列......
  • 使用 Kitten 编程猫绘制一个 Y 方向平铺的立方体集合
    效果如下图所示:我们实际上使用了2D来模拟3D效果。应用程序启动时,默认只绘制一个立方体,因此我们在初始绘制的函数里,只执行动态绘制X方向的立方体这一个逻辑。因为默......
  • Android 高德地图绘制虚线线条
    1.获得绘制虚线的坐标点集合//绘制虚线的gps坐标点privateList<LatLng>convesLngs=newArrayList<LatLng>();/***扇形区域折线存储*/privateMap<Stri......
  • 用python绘制1960年到2019年全国GDP增长图
    frompyecharts.chartsimportBar,Timelinefrompyecharts.optionsimport*#处理数据f=open("D:/1960-2019全球GDP数据.csv","r",encoding="GB2312")#读取每一行,返回是......
  • 【Cesium】拿取后台geojson数据绘制图形
    cesiumDraw标绘类mars3d.Draw是实体类,标绘控制处理类,提供文字、点、线、面、立体、模型等各类entity对象的绘制。需求:拿取请求的json数据绘制区域书写基础绘制方法......
  • 【android】音视频开发一:绘制图片
    本文目标在Android平台绘制一张图片,使用至少3种不同的API,ImageView,SurfaceView,自定义View绘制准备:申请手机权限<!--添加权限--><uses-permissionandroid:n......
  • vuejs+cesium绘制点以及给点添加点击事件
    1、绘制一个点this.viewer.entities.add({        id:‘设置点的id’,        position:newCesium.Cartesian3.fromDegrees(经......
  • matplotlib3常见图形的绘制
    importmatplotlib.pyplotaspltimportrandomfrompylabimportmpl设置显示中文字体mpl.rcParams["font.sans-serif"]=["SimHei"]设置正常显示符号mpl.rcParams......
  • 使用canvas与Paint在View中居中绘制文字
    我们在自定义View中有的时候会想自己绘制文字,自己绘制文字的时候,我们通常希望把文字精确定位,文字居中(水平、垂直)是普遍的需求,所以这里就以文字居中为......
  • 【OpenCV】-查找并绘制轮廓
    文章目录​​1寻找轮廓:findContours()函数​​​​2绘制轮廓:drawContours()函数​​​​3示例程序​​1寻找轮廓:findContours()函数说明:findContours()函数是在二值图像......