唤醒手腕 Matlab 游戏编程常用技术知识点详细教程(更新中)

news2024/11/27 1:16:08

Figure 窗口初始化

figure 使用默认属性值创建一个新的图窗窗口。生成的图窗为当前图窗。f = figure(___) 返回 Figure 对象。可使用 f 在创建图窗后查询或修改其属性。figure(f) 将 f 指定的图窗作为当前图窗,并将其显示在其他所有图窗的上面。

figure(n) 查找 Number 属性等于 n 的图窗,并将其作为当前图窗。如果不存在具有该属性值的图窗,MATLAB® 将创建一个新图窗并将其 Number 属性设置为 n。

指定图窗标题

创建一个图窗并指定 Name 属性。默认情况下,生成的标题包含图窗编号。

figure('Name','Measured Data');

再次指定 Name 属性,但这次将 NumberTitle 属性设置为 ‘off’。生成的标题不包含图窗编号。

figure('Name','Measured Data','NumberTitle','off');

将背景色设置为白色

figure('Color','white')

在这里插入图片描述

figure 属性

                 Alphamap: [1×64 double]
             BeingDeleted: off
               BusyAction: 'queue'
            ButtonDownFcn: ''
                 Children: [0×0 GraphicsPlaceholder]
                 Clipping: on
          CloseRequestFcn: 'closereq'
                    Color: [0.9400 0.9400 0.9400]
                 Colormap: [256×3 double]
              ContextMenu: [0×0 GraphicsPlaceholder]
                CreateFcn: ''
              CurrentAxes: [0×0 GraphicsPlaceholder]
         CurrentCharacter: ''
            CurrentObject: [0×0 GraphicsPlaceholder]
             CurrentPoint: [0 0]
                DeleteFcn: ''
             DockControls: on
                 FileName: ''
        GraphicsSmoothing: on
         HandleVisibility: 'on'
                     Icon: ''
            InnerPosition: [488 342 560 420]
            IntegerHandle: on
            Interruptible: on
           InvertHardcopy: on
              KeyPressFcn: ''
            KeyReleaseFcn: ''
                  MenuBar: 'figure' (默认) | 'none'
                     Name: 'Measured Data'
                 NextPlot: 'add'
                   Number: 2
              NumberTitle: on
            OuterPosition: [481 334.6000 574.4000 508.8000]
         PaperOrientation: 'portrait'
            PaperPosition: [1.3333 3.3125 5.8333 4.3750]
        PaperPositionMode: 'auto'
                PaperSize: [8.5000 11]
                PaperType: 'usletter'
               PaperUnits: 'inches'
                   Parent: [1×1 Root]
                  Pointer: 'arrow'
        PointerShapeCData: [16×16 double]
      PointerShapeHotSpot: [1 1]
                 Position: [488 342 560 420]
                 Renderer: 'opengl'
             RendererMode: 'auto'
                   Resize: on
               Scrollable: off
            SelectionType: 'normal'
           SizeChangedFcn: ''
                      Tag: ''
                  ToolBar: 'auto'
                     Type: 'figure'
                    Units: 'pixels'
                 UserData: []
                  Visible: on
      WindowButtonDownFcn: ''
    WindowButtonMotionFcn: ''
        WindowButtonUpFcn: ''
        WindowKeyPressFcn: ''
      WindowKeyReleaseFcn: ''
     WindowScrollWheelFcn: ''
              WindowState: 'normal'	(默认) | 'minimized' | 'maximized' | 'fullscreen'
              WindowStyle: 'normal'	(默认) | 'modal' | 'docked'

Figure gca 坐标轴

                        ALim: [0 1]
                    ALimMode: 'auto'
                  AlphaScale: 'linear'
                    Alphamap: [1×64 double]
           AmbientLightColor: [1 1 1]
                BeingDeleted: off
                         Box: off
                    BoxStyle: 'back'
                  BusyAction: 'queue'
               ButtonDownFcn: ''
                        CLim: [0 1]
                    CLimMode: 'auto'
              CameraPosition: [0.5000 0.5000 9.1603]
          CameraPositionMode: 'auto'
                CameraTarget: [0.5000 0.5000 0.5000]
            CameraTargetMode: 'auto'
              CameraUpVector: [0 1 0]
          CameraUpVectorMode: 'auto'
             CameraViewAngle: 6.6086
         CameraViewAngleMode: 'auto'
                    Children: [0×0 GraphicsPlaceholder]
                    Clipping: on
               ClippingStyle: '3dbox'
                       Color: [1 1 1]
                  ColorOrder: [7×3 double]
             ColorOrderIndex: 1
                  ColorScale: 'linear'
                    Colormap: [256×3 double]
                 ContextMenu: [0×0 GraphicsPlaceholder]
                   CreateFcn: ''
                CurrentPoint: [2×3 double]
             DataAspectRatio: [1 1 1]
         DataAspectRatioMode: 'auto'
                   DeleteFcn: ''
                   FontAngle: 'normal'
                    FontName: 'Helvetica'
                    FontSize: 10
                FontSizeMode: 'auto'
               FontSmoothing: on
                   FontUnits: 'points'
                  FontWeight: 'normal'
                   GridAlpha: 0.1500
               GridAlphaMode: 'auto'
                   GridColor: [0.1500 0.1500 0.1500]
               GridColorMode: 'auto'
               GridLineStyle: '-'
            HandleVisibility: 'on'
                     HitTest: on
               InnerPosition: [0.1300 0.1100 0.7750 0.8150]
                Interactions: [1×1 matlab.graphics.interaction.interface.DefaultAxesInteractionSet]
               Interruptible: on
     LabelFontSizeMultiplier: 1.1000
                       Layer: 'bottom'
                      Layout: [0×0 matlab.ui.layout.LayoutOptions]
                      Legend: [0×0 GraphicsPlaceholder]
              LineStyleOrder: '-'
         LineStyleOrderIndex: 1
                   LineWidth: 0.5000
              MinorGridAlpha: 0.2500
          MinorGridAlphaMode: 'auto'
              MinorGridColor: [0.1000 0.1000 0.1000]
          MinorGridColorMode: 'auto'
          MinorGridLineStyle: ':'
                    NextPlot: 'replace'
             NextSeriesIndex: 1
               OuterPosition: [0 0 1 1]
                      Parent: [1×1 Figure]
               PickableParts: 'visible'
          PlotBoxAspectRatio: [1 0.7882 0.7882]
      PlotBoxAspectRatioMode: 'auto'
                    Position: [0.1300 0.1100 0.7750 0.8150]
          PositionConstraint: 'outerposition'
                  Projection: 'orthographic'
                    Selected: off
          SelectionHighlight: on
                  SortMethod: 'childorder'
                    Subtitle: [1×1 Text]
          SubtitleFontWeight: 'normal'
                         Tag: ''
                     TickDir: 'in'
                 TickDirMode: 'auto'
        TickLabelInterpreter: 'tex'
                  TickLength: [0.0100 0.0250]
                  TightInset: [0.0438 0.0527 0.0171 0.0200]
                       Title: [1×1 Text]
     TitleFontSizeMultiplier: 1.1000
             TitleFontWeight: 'bold'
    TitleHorizontalAlignment: 'center'
                     Toolbar: [1×1 AxesToolbar]
                        Type: 'axes'
                       Units: 'normalized'
                    UserData: []
                        View: [0 90]
                     Visible: on
                       XAxis: [1×1 NumericRuler]
               XAxisLocation: 'bottom'
                      XColor: [0.1500 0.1500 0.1500]
                  XColorMode: 'auto'
                        XDir: 'normal'
                       XGrid: off
                      XLabel: [1×1 Text]
                        XLim: [0 1]
                    XLimMode: 'auto'
                XLimitMethod: 'tickaligned'
                  XMinorGrid: off
                  XMinorTick: off
                      XScale: 'linear'
                       XTick: [1×11 double]
                  XTickLabel: {11×1 cell}
              XTickLabelMode: 'auto'
          XTickLabelRotation: 0
                   XTickMode: 'auto'
                       YAxis: [1×1 NumericRuler]
               YAxisLocation: 'left'
                      YColor: [0.1500 0.1500 0.1500]
                  YColorMode: 'auto'
                        YDir: 'normal'
                       YGrid: off
                      YLabel: [1×1 Text]
                        YLim: [0 1]
                    YLimMode: 'auto'
                YLimitMethod: 'tickaligned'
                  YMinorGrid: off
                  YMinorTick: off
                      YScale: 'linear'
                       YTick: [1×11 double]
                  YTickLabel: {11×1 cell}
              YTickLabelMode: 'auto'
          YTickLabelRotation: 0
                   YTickMode: 'auto'
                       ZAxis: [1×1 NumericRuler]
                      ZColor: [0.1500 0.1500 0.1500]
                  ZColorMode: 'auto'
                        ZDir: 'normal'
                       ZGrid: off
                      ZLabel: [1×1 Text]
                        ZLim: [0 1]
                    ZLimMode: 'auto'
                ZLimitMethod: 'tickaligned'
                  ZMinorGrid: off
                  ZMinorTick: off
                      ZScale: 'linear'
                       ZTick: [0 0.5000 1]
                  ZTickLabel: ''
              ZTickLabelMode: 'auto'
          ZTickLabelRotation: 0
                   ZTickMode: 'auto'

Figure 窗口监听鼠标事件

MATLAB 中 Figure 窗口可以监听鼠标事件。常见的鼠标事件:

鼠标按下:WindowButtonDownFcn

set(fig, 'WindowButtonDownFcn', @mouseButtonDownCallback);

鼠标松开:WindowButtonUpFcn

set(fig, 'WindowButtonUpFcn', @mouseButtonUpCallback);

鼠标移动:WindowButtonMotionFcn

set(fig, 'WindowButtonMotionFcn', @mouseMoveCallback);

鼠标进入:WindowEnterFcn

set(fig, 'WindowEnterFcn', @mouseEnterCallback);

鼠标离开:WindowExitFcn

set(fig, 'WindowExitFcn', @mouseExitCallback);

鼠标滚轮滚动:WindowScrollWheelFcn

set(fig, 'WindowScrollWheelFcn', @mouseScrollWheelCallback);

以上的示例中,fig 是你的 Figure 句柄,而 mouseButtonDownCallbackmouseButtonUpCallback、等等是相应事件触发时要执行的回调函数。你可以根据需要选择性地设置这些属性,以实现相应的鼠标事件处理。

Figure 窗口监听鼠标点击事件

要在 MATLAB 中监听鼠标点击事件,你可以使用 ButtonDownFcn 属性。简单的例子:

% 创建一个新的 Figure
figure;

% 设置 ButtonDownFcn 属性
set(gcf, 'ButtonDownFcn', @mouseClickCallback);

% 回调函数,处理鼠标点击事件
function mouseClickCallback(~, ~)
    % 获取当前鼠标位置
    currentPoint = get(gca, 'CurrentPoint');
    x = currentPoint(1, 1);
    y = currentPoint(1, 2);
    
    % 在命令窗口显示鼠标点击位置
    fprintf('Mouse Clicked at: x = %f, y = %f\n', x, y);
end

这个例子创建了一个新的 Figure,并设置了 ButtonDownFcn 属性为名为 mouseClickCallback 的回调函数。当鼠标在 Figure 上点击时,该回调函数会被调用,并显示当前鼠标的 x 和 y 坐标。

Figure 窗口监听鼠标移动事件

在 MATLAB 中,你可以使用 WindowButtonMotionFcn 属性来监听鼠标在 Figure 上的移动事件。简单的例子:

% 创建一个新的 Figure
figure;

% 设置 WindowButtonMotionFcn 属性
set(gcf, 'WindowButtonMotionFcn', @mouseMoveCallback);

% 回调函数,处理鼠标移动事件
function mouseMoveCallback(~, ~)
    % 获取当前鼠标位置
    currentPoint = get(gca, 'CurrentPoint');
    x = currentPoint(1, 1);
    y = currentPoint(1, 2);
    
    % 在命令窗口显示鼠标位置
    fprintf('Mouse Position: x = %f, y = %f\n', x, y);
end

这个例子创建了一个新的 Figure,并设置了 WindowButtonMotionFcn 属性为名为 mouseMoveCallback 的回调函数。当鼠标在 Figure 上移动时,该回调函数会被调用,并显示当前鼠标的 x 和 y 坐标。

Figure 窗口监听鼠标鼠标按下和松开事件

要同时监听 MATLAB Figure 上的鼠标按下和松开事件,你可以使用 WindowButtonDownFcnWindowButtonUpFcn 属性。示例:

% 创建一个新的 Figure
figure;

% 设置 WindowButtonDownFcn 和 WindowButtonUpFcn 属性
set(gcf, 'WindowButtonDownFcn', @mouseButtonDownCallback);
set(gcf, 'WindowButtonUpFcn', @mouseButtonUpCallback);

% 鼠标按下回调函数
function mouseButtonDownCallback(~, ~)
    disp('Mouse Button Down');
end

% 鼠标松开回调函数
function mouseButtonUpCallback(~, ~)
    disp('Mouse Button Up');
end

这个例子创建了一个新的 Figure,并分别设置了 WindowButtonDownFcnWindowButtonUpFcn 属性为两个不同的回调函数。当鼠标在 Figure 上按下时,mouseButtonDownCallback 函数会被调用,而当鼠标松开时,mouseButtonUpCallback 函数会被调用。

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

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

相关文章

8、Docker-compose容器编排

一、Docker compose 是什么 Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同…

cadence SPB17.4 S032 - 使用room来放置元件

文章目录 cadence SPB17.4 S032 - 使用room来放置元件概述笔记在orcad中设置子原理图的ROOM号码在空的Allegro工程中, 放入板框在allegro中建立room备注补充 - ROOM还得留着END cadence SPB17.4 S032 - 使用room来放置元件 概述 如果在allegro中直接手工或自动放置元件, 放好…

scala基础入门

一、Scala安装 下载网址:Install | The Scala Programming Language ideal安装 (1)下载安装Scala plugins (2)统一JDK环境,统一为8 (3)加载Scala (4)创建工…

单调队列 - 滑动窗口

154. 滑动窗口 - AcWing题库 O(1)求窗口中的最大值/最小值 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;typedef pair<int, int> PII; typedef long long ll; typedef long double l…

gdb的使用

目录 gdb工具的使用 代码调试相关指令 运行程序指令 r 显示代码的指令 l 给代码打断点 b 查看断点位置 info b 执行代码到断点处停止 关闭断点 d断点编号 关闭某个断点&#xff0c;但不删除 disable编号 打开某个断点 enable断点编号 逐过程调试代码 n 逐语句调试代码 s 查看…

【外设】拓展坞接入外设一直弹窗报错问题

外设相关&#xff1a;多功能拓展坞安装后使用正常但计算机一直弹窗报错 1.基本配置信息&#xff1a; 拓展坞&#xff1a;绿联6合1 笔记本&#xff1a;lenovo &#xff08;硬件:13^i5;系统&#xff1a;win11&#xff09; 外设&#xff1a;1键1鼠1显示器1硬盘 2.存在的问题&am…

LNK2001: unresolved external symbol __imp___std_init_once_begin_initialize 问题解决

LNK2001: unresolved external symbol __imp___std_init_once_begin_initialize 解决 文章目录 问题背景方法一&#xff1a;使用预编译指令方法二&#xff1a;使用相同的环境 参考链接附录 问题背景 Visual Studio 2019 对 CMakeLists.txt 的支持不是很好&#xff0c;使用 “文…

【单片机】12-串口通信和RS485

1.通信有关的常见概念 区分&#xff1a;串口&#xff0c;COM口&#xff0c;UART&#xff0c;USART_usart和串口区别-CSDN博客 串口、COM口、UART口, TTL、RS-232、RS-485区别详解-CSDN博客 1.什么是通信 &#xff08;1&#xff09;人和人之间的通信&#xff1a;说话&#xff…

java项目之校园餐厅管理(ssm源码+文档)

项目简介 校园餐厅管理实现了以下功能&#xff1a; 管理员&#xff1a;个人中心、商家管理、用户管理、菜系类别管理、校园美食管理、在线下单管理、美食论坛、系统管理。商家前台&#xff1a;首页、校园美食、论坛信息、新闻资讯、我的、跳转到后台、客服。商家&#xff1a;…

第4讲:vue内置命令(文本插值,属性绑定,v-text,v-html)

MVVM 什么是MVVM&#xff1f; MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化&#xff0c;让我们将视图 UI 和业务逻辑分开。 View层&#xff1a; 视图层 在我们前端开发中&#xff0c;通常就是 DOM 层。 主要的作用是…

Error: Activity class {xxx.java} does not exist

git切换到不同的branch之后&#xff0c;报下面的错误&#xff1a; Error: Activity class {xxx.java} does not exist 解决方案&#xff1a; 首先clean 然后会删除build目录 然后点击&#xff1a;Invalidate Caches Android Studio重启&#xff0c;然后重新build即可。

四、2023.9.30.C++面向对象end.4

文章目录 49、 简述一下什么是常函数&#xff0c;有什么作用&#xff1f;50、 说说什么是虚继承&#xff0c;解决什么问题&#xff0c;如何实现&#xff1f;51、简述一下虚函数和纯虚函数&#xff0c;以及实现原理&#xff1f;52、说说纯虚函数能实例化吗&#xff0c;为什么&am…

Python实验二

1&#xff1a;编程计算 1&#xff5e;100 偶数的和。 要求&#xff1a;输出结果为整数&#xff0c;宽度为 8&#xff0c;居中对齐&#xff0c;空白处填充符号“*”。 提示&#xff1a; range(2,101,2)生成的整数列表从 2 开始到 100 结束&#xff0c;步长为 2&#xff0c;即 …

华为云云耀云服务器L实例评测|云耀云服务器L实例部署Linux管理面板mdserver-web

华为云云耀云服务器L实例评测&#xff5c;云耀云服务器L实例部署Linux管理面板mdserver-webl 一、云耀云服务器L实例介绍1.1 云耀云服务器L实例简介1.2 云耀云服务器L实例特点 二、mdserver-web介绍2.1 mdserver-web简介2.2 mdserver-web特点2.3 主要插件介绍 三、本次实践介绍…

高数:第二章:一元函数微分学

文章目录 一、导数与微分1.导数的概念(1)导数的定义(2)左右导数(3)定理&#xff1a;可导与左右导数的关系(4)可导三要素(5)用导数定义判断可导性 2.微分的概念(1)微分的定义(2)微分与可导的关系 3.导数与微分的几何意义(1)导数 f ′ ( x 0 ) f(x_0) f′(x0​)的几何意义&#x…

【LLM】Windows10环境部署阿里通义千问大模型(Qwen-14B-Chat-Int4)

文章目录 环境文件准备项目代码模型相关文件 运行准备工作运行demo Tips 环境 系统版本&#xff1a;Windows 10 企业版 版本号&#xff1a;20H2 系统类型&#xff1a;64 位操作系统, 基于 x64 的处理器 处理器&#xff1a;Intel Core™ i7-13700K CPU 3.40GHz 机带 RAM&#…

1340. 跳跃游戏 V;2039. 网络空闲的时刻;2767. 将字符串分割为最少的美丽子字符串

1340. 跳跃游戏 V 核心思想&#xff1a;动态规划记忆化搜索。定义dfs(i)&#xff0c;表示从i开始最多可以访问多少个下标&#xff0c;然后统计往左跳和往右边跳的最大值&#xff0c;思路其实比较简单&#xff0c;但是代码我感觉还是不太好想。 2039. 网络空闲的时刻 核心思想…

CH347读写SPI Flash

CH347读写SPI Flash 前面耽搁了几天&#xff0c;今天终于把CH347 SPI接口调试好了。 CH347动态库中SPI接口函数如下&#xff1a; typedef struct _SPI_CONFIG{UCHAR iMode; // 0-3:SPI Mode0/1/2/3UCHAR iClock; // 060…

数据分析方法:RFM模型

一、RFM基本原理 RFM是三个单词的缩写&#xff1a; 最近一次消费时间&#xff08;Recency&#xff09;&#xff0c;取数的时候一般取最近一次消费记录到当前时间的间隔&#xff0c;比如&#xff1a;7天、30天、90天未到店消费&#xff1b;直观上&#xff0c;一个用户太久不到…

Windows 下安装及配置 MySQL 8.1 (图文教程)

目录 下载 MySQL安装 MySQL配置 MySQL修改密码配置环境变量 卸载 MySQL开源项目微服务商城项目前后端分离项目 下载 MySQL 访问 MySQL 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 下载 MySQL 时&#xff0c;你可以选择 ZIP 包或 MSI 安装&#xff1a; ZIP包…