博客
关于我
MATLAB App Designer入门实战(三)
阅读量:226 次
发布时间:2019-02-28

本文共 1745 字,大约阅读时间需要 5 分钟。

入门实战第三弹——连连看小游戏App开发指南

作为一名MATLAB开发者,你或许已经对连连看小游戏产生了兴趣。本文将为你详细介绍如何在MATLAB中开发一个简单的连连看小游戏,并分享一些实用的开发技巧。

13. 获取文件夹内所有图片链接

在开发连连看小游戏时,首先需要获取文件夹内所有图片的链接。MATLAB中可以通过`dir`函数来实现这一点。以下是具体步骤:

假设你有一个名为“图片”文件夹,位于路径`E:\MATLAB\R 2019b\bin\连连看\图片`中,你可以通过以下代码获取该文件夹内所有 JPG 图片的信息:

path = 'E:\MATLAB\R 2019b\bin\连连看\图片';picInformation = dir(fullfile(path, '*.jpg'));

接下来,你可以通过循环遍历`picInformation`数组,获取每张图片的完整路径:

picPath = [path, '', picInformation(i).name];

14. 确定鼠标点击的图片序号

在实际开发中,经常会遇到以下问题:当图片数量较多且位置不整齐时,如何准确判断用户点击的图片序号?为了解决这一问题,我们可以将图片转换为可以交互的控件,并为每张图片设置回调函数。

由于图片数量较多,直接为每张图片创建UIimage控件会带来内存和逻辑上的负担。于是,我们可以采用以下优化方法:

方法一:批量创建隐藏的UIimage控件

在`startupFcn`中,可以批量创建隐藏的UIimage控件,并为每个控件设置回调函数。通过`createCallbackFcn`函数,我们可以为每个隐藏控件共享一个回调函数。

例如:

% 在循环中创建隐藏的UIimage控件handles(i, j) = createCallbackFcn(app, @VirtualImageClicked, true);set(app.drawPicHdl(i, j), 'ImageClickedFcn', handles(i, j));

方法二:利用UserData属性

为了在回调函数中区分不同的图片控件,我们可以为每个控件设置`UserData`属性。这样,在用户点击时,可以通过`event.Source.UserData`获取到相关信息。

例如:

% 为每个UIimage控件设置UserData属性app.drawPicHdl(i, j).UserData = [i, j];

15. 在图片上方绘制线条

在开发连连看小游戏时,通常需要在图片上方绘制线条以指引用户选择。为了实现这一功能,可以考虑以下方法:

如果UIAxes位于UIimage或其他控件下方,画出的图像也会在UIimage或其他控件下方。但如果UIAxes位于UIimage或其他控件上方,图像会位于控件上方。这可能会导致图像不在预期的位置。

为了解决这一问题,可以将UIAxes设置为透明的,这样图形就不会覆盖UIimage或其他控件。例如:

% 将UIAxes设置为透明axes(handles.hMainAxes).MapStyle = 'transparency';

如果需要绘制线条,可以使用`uinew`函数创建UIAxes,并在上面绘制线条。例如:

h = uinew(handles.hMainAxes);plot(h, 0:1:2, 0:0:1);

如果需要在图片上方绘制更复杂的图形,可以考虑使用`uilabel`控件来显示文字或线条。例如:

% 创建UILabel控件并绘制线条hLabel = uilabel(handles.hMainAxes);hLabel.Position = [0.5, 0.5];hLabel.String = '连线此图片';

总结

通过以上方法,你可以在MATLAB中开发一个简单的连连看小游戏。从获取图片链接到绘制线条,每一步都需要细致设计和测试。希望本文的内容能为你的开发提供有价值的参考。如需进一步了解具体实现,可以访问以下链接:

MATLAB 连连看小游戏 m 文件链接:[链接1](#) MATLAB 连连看小游戏 mlapp 文件链接:[链接2](#)

转载地址:http://odls.baihongyu.com/

你可能感兴趣的文章
OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
查看>>
OAuth2.0_授权服务配置_三项内容_Spring Security OAuth2.0认证授权---springcloud工作笔记141
查看>>
OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
查看>>
OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
查看>>
OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
查看>>
OAuth2.0_授权服务配置_授权码模式_Spring Security OAuth2.0认证授权---springcloud工作笔记144
查看>>
OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
查看>>
OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
查看>>
OAuth2.0_环境搭建_Spring Security OAuth2.0认证授权---springcloud工作笔记139
查看>>
oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
查看>>
OAuth2.0四种模式的详解
查看>>
OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
查看>>
oauth2登录认证之SpringSecurity源码分析
查看>>
OAuth2:项目演示-模拟微信授权登录京东
查看>>
OA系统多少钱?OA办公系统中的价格选型
查看>>
OA系统选型:选择好的工作流引擎
查看>>
OA让企业业务流程管理科学有“据”
查看>>
OA项目之会议通知(查询&是否参会&反馈详情)
查看>>
Vue.js 学习总结(13)—— Vue3 version 计数介绍
查看>>
OA项目之我的会议(会议排座&送审)
查看>>