[Construct 2] 使用9-patch图片制作按钮

article/2025/10/11 9:58:55

背景

Construct 2是一款实现了不需要写代码就可以制作HTML 5小游戏的工具,有免费授权也有收费授权(当然收费授权是买不起啦,跑)。本文将介绍如何使用9-patch图片制作动态的按钮。

准备

制作之前需要准备好:
1. 按钮图片,比如:https://github.com/huanghongxun/beautyeye/blob/master/beautyeye/src/org/jb2011/lnf/beautyeye/utils/imgs/np/btn_general_default.9.png
2. 按钮图片,比如:https://github.com/huanghongxun/beautyeye/blob/master/beautyeye/src/org/jb2011/lnf/beautyeye/utils/imgs/np/btn_general_pressed.9.png
3. 按钮图片,比如:https://github.com/huanghongxun/beautyeye/blob/master/beautyeye/src/org/jb2011/lnf/beautyeye/utils/imgs/np/btn_general_pressed.9.png

但是要特别注意的是,Construct 2的9-patch控件并不支持自动读取图片四周的黑边(描述可以延展的范围),所以我们提供图片的时候直接用原始图片即可,不可以使用类似Android里的*.9.png的文件。

步骤

步骤一:添加图片

先双击场景外的灰色区域,打开插入控件对话框:
Step 1.1

选择9-patch,并在场景中选择合适的位置。Construct 2会自动弹出图片编辑对话框:
Step 1.2

点击打开按钮在弹出的文件选择对话框中选择在准备步骤中准备好的btn_general_default.9.png,效果如上图所示。

我们已经创建了9patch对象,表示按钮的默认状态。接着重复上述操作,添加9patch2对象,图片选择btn_general_rover.9.png,表示鼠标悬停时按钮的状态。

步骤二:添加文字

再次双击场景外的灰色部分,在弹出的对话框中选择Text项。在新创建的Text对象的Text属性中,把内容改为Start playing。并将文字拖至正确位置,如图。
Step 2.1

然后再加一个进度条,摆到正中央,设置Initial Visibility属性为Invisible,表示我们一开始看不到这个进度条,我们希望点击按钮后出现这个进度条表示游戏正在加载。
虽然Construct 2的场景里的进度条很丑,但是到了浏览器里就成浏览器的默认样式了。

步骤三:添加鼠标事件

双击场景外的灰色部分,在弹出的对话框中选择Input分类下的Mouse,并添加到场景中,双击右侧的Projects窗口里的Event sheet 1,如图。
Step 3.1

然后在打开的新选项卡中点击Add event。
Step 3.2

在弹出的对话框中选择Mouse。
Step 3.3

选择Mouse is over the object. 并选择对象9patch(而不是9patch2)。然后点击对应的Add action。设置对象是9patch,行为是Set Invisible。
接着继续操作到如上上图所示的结果。第二项的红叉表示事件反转,右击相应的事件选择Invert即可。
Step 3.4

步骤四:运行测试

最后点击Home选项卡的Run layout按钮就可以测试啦。
最后在Microsoft Edge浏览器上长这个样子,并不是动图。。
Step 4

结语

本文浅显地介绍了Construct 2的9-patch、Sprite、滚动条、事件的相关用法,更多的内容请多查阅Construct 2的官方文档。

for SYSU 软工导论课。


http://chatgpt.dhexx.cn/article/j96j2vly.shtml

相关文章

Ubuntu 22.04 上配置 LunarVim 浏览linux kernel代码

概述 微软的Visual Studio Code 无疑是目前最流行的代码IDE, 最丰富的插件,最容易上手,但缺点也是有的,比如还是有许多操作需要鼠标来完成,特别是使用laptop看代码,使用鼠标是很不方便的一件事,查看远程机器上的代码总没有ssh再去vim编辑来得方便. 之前使用基于vim的IDE exvi…

linux虚拟机向上滚动,能当主力,能入虚拟机,还能随时打包带走,Linux 就是这么强大...

原标题:能当主力,能入虚拟机,还能随时打包带走,Linux 就是这么强大 来源:zasdfgbnm zasdfgbnm.github.io/2017/06/29/能当主力,能入虚拟机,还能随时打包带走,Linux就是这么强大/ 这里…

Kubernetes(九)Deployment滚动更新

小知识点 kubectl get pods podA -n NAMEAPSCE -o yaml --export如果不带上--export 生成文件会有很多无用的内容备注: 可以换成其它系列的资源注意: 新版本已经废弃-->1.18.4有,1.19.3已经废弃了 一 Deployment理解 Deployment 是…

【腾讯Bugly干货分享】Android Patch 方案与持续交付

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a31921ac3a1fb613dd40f3 Android 不仅系统版本众多,机型众多,而且各个市场都各有各的政策和审核速度&#xff…

160多个android开源代码汇总

第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style等等。 、其他 一、Li…

chenyuntc/simple-faster-r-cnn的代码详细讲解

chenyuntc/simple-faster-r-cnn的代码详细讲解 datadata/voc_dataset.pydata/util.pydata/dataset.py micsconvet_caffe_pretraintrain_fast.py utilsarray_tool.py_config.pyeval_tool.pyvis_tool.py modelutilsnmsbuild_.py_nms_gpu_post_py.pynon_maximum_suppression.py_nm…

android开源代码

Android开源项目--分类汇总 转自:https://github.com/Trinea/android-open-project Android开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、其他 Android开源项目第二篇—…

Android Studio Flamingo | 2022.2.1 Patch 1(火烈鸟版本)

版本概况 Android Studio Flamingo | 2022.2.1 Patch 1 Build #AI-222.4459.24.2221.9971841, built on April 20, 2023 Runtime version: 17.0.60-b2043.56-9586694 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 10.0 GC: G1 Young Generation, G1 Old…

代码审查 本地测试经验汇总

软件测试虽然辛苦,但是掌握了一定的技巧之后将使你事半功倍。 (1) 边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。 (2) 非法测试,例如在输入数字的地方输入字…

【Unity】优化UGUI 滚动条ScrollRect(高效复用)

最近忙于性能优化,深切体会到二八法则真是指导高(tou)效(lan)工作的有力武器。这个礼拜花了几天解决了一个实际问题:UGUI的ScrollRect加载太多物体的时候,第一次弹出界面会非常卡顿,而且不在界面里的内容依然会参与绘制(毫无意义的…

vue 切换页面没有改变滚动条_Vue真是太好了 壹万多字的Vue知识点 超详细!

1⃣️、Vue和其他两大框架的区别 Angular 学习成本太高React 代码可读性差Vue 学习成本较低 很容易上手VUE官方: https://cn.vuejs.org/v2/guide/comparison.html ️2⃣️、Vue是什么 Vue是一套用于构建用户界面的渐进式框架 "前端框架"让程序员脱离自己操作DOM 专注…

前端低代码平台腾讯云微搭使用文档

腾讯云微搭 调研报告 之前作者有写过一个同类低代码平台调研报告 H5-Dooring 点击查看,这次我们去尝试使用腾讯系低代码平台,文中也会增加两者之间的差异对比和使用体验上的区别。 1. 简介 1.1 概述 腾讯云微搭低代码是一个高性能的低代码开发平台&a…

Android Patch方案与持续交付

Android 不仅系统版本众多,机型众多,而且各个市场都各有各的政策和审核速度,每次发布一个版本对于开发同学来讲都是一种漫长的煎熬。相比于 iOS 两三天就能达到 80% 的覆盖速度而言,Android 应用版本升级至少需要两周才能达到 80%…

element-ui el-table组件添加height属性后滚动条被顶下去一截

el-table 组件添加了height属性,数据行数超标,出现滚动条; 同时给table中的一列添加了 fixed“right” 这个属性,然后又在项目里自定义了滚动条样式,这个滚动条跟固定列会被挤下去,造成错位的bug。建议去掉…

已解决:element Table 滚动条首次进入不显示、偶尔切换页面后不显示,刷新当前页或改变窗口才显示

记录一下在项目中遇到的问题,困扰了几天最终解决了。 一、问题:element Table 滚动条首次进入不显示、偶尔切换页面后不显示,刷新当前页或改变窗口才显示。 1、首次进入的效果 可以看到滚动条并没有渲染出来,但是刷新页面或者改…

Android Patch 方案与持续交付

Android 不仅系统版本众多,机型众多,而且各个市场都各有各的政策和审核速度,每次发布一个版本对于开发同学来讲都是一种漫长的煎熬。相比于 iOS 两三天就能达到 80% 的覆盖速度而言,Android 应用版本升级至少需要两周才能达到 80%…

js表格冻结列滚动条同步滚动

用div css写的table表格怎么实现冻结某列&#xff0c;同时实现数据滚动条滚动的时候&#xff0c;表头也跟着滚动呢&#xff1f; 效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><style>.f…

损失函数分类

损失函数 机器学习模型关于单个样本的预测值与真实值的差称为损失。损失越小&#xff0c;模型越好&#xff0c;如果预测值与真实值相等&#xff0c;就是没有损失。 损失函数&#xff08;Loss function&#xff09;是用来估量模型的预测值 f(x) 与真实值 Y 的不一致程度&#x…

损失函数总结

1. 概况 损失函数一般分为&#xff1a;0-1 损失函数&#xff0c;HingeLoss&#xff0c;绝对值损失函数&#xff0c;Huber Loss, 平方损失函数&#xff0c;对数损失函数&#xff0c;指数损失。 1. 0-1损失函数(zero-one loss) 0-1损失是指预测值和目标值不相等为1&#xff0…