【CocosCreator入门】CocosCreator组件 | Graphics(绘制)组件

        Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中Graphics组件允许您在游戏中绘制2D图形和几何形状,并通过编写脚本来控制其外观和行为。


目录

一、组件属性

二、组件方法

三、脚本示例


一、组件属性

属性功能说明
lineWidth设置或返回当前的线条宽度
lineJoin设置或返回两条线相交时,所创建的拐角类型
lineCap设置或返回线条的结束端点样式
strokeColor设置或返回笔触的颜色
fillColor设置或返回填充绘画的颜色
miterLimit设置或返回最大斜接长度

二、组件方法

方法功能说明
moveTo (x, y)把路径移动到画布中的指定点,不创建线条
lineTo (x, y)添加一个新点,然后在画布中创建从该点到最后指定点的线条
bezierCurveTo (c1x, c1y, c2x, c2y, x, y)创建三次方贝塞尔曲线
quadraticCurveTo (cx, cy, x, y)创建二次贝塞尔曲线
arc (cx, cy, r, a0, a1, counterclockwise)创建弧/曲线(用于创建圆形或部分圆)
ellipse (cx, cy, rx, ry)创建椭圆
circle(cx, cy, r)创建圆形
rect(x, y, w, h)创建矩形
close ()创建从当前点回到起始点的路径
stroke()绘制已定义的路径
fill()填充当前绘图(路径)
clear ()清除所有路径

三、脚本示例

        Graphics组件的基本用法非常简单。在Cocos Creator编辑器中,您可以创建一个新节点并将Graphics组件添加到该节点上。然后,您可以使用该组件的API来绘制形状、线条和填充颜色。例如,以下代码将在屏幕上绘制一个红色圆形:

var graphics = this.getComponent(cc.Graphics);
graphics.circle(0, 0, 100);
graphics.fillColor = cc.Color.RED;
graphics.fill();

        在这个例子中,我们首先获取了当前节点上的Graphics组件。然后,我们使用circle()方法创建了一个圆形,该方法接受圆心坐标和半径作为参数。接下来,我们设置fillColor属性为红色,并调用fill()方法来填充圆形。

        除了绘制基本形状之外,Graphics组件还支持绘制路径和曲线。例如,以下代码将在屏幕上绘制一条曲线:

var graphics = this.getComponent(cc.Graphics);
graphics.moveTo(0, 0);
graphics.quadraticCurveTo(100, 100, 200, 0);
graphics.strokeColor = cc.Color.BLUE;
graphics.stroke();

        在这个例子中,我们使用moveTo()方法将绘图笔移动到起始点,然后使用quadraticCurveTo()方法绘制一条二次曲线。最后,我们设置strokeColor属性为蓝色,并调用stroke()方法来绘制曲线的轮廓。

        Graphics组件还支持许多其他功能,例如设置线条宽度、绘制文字和渐变填充。您可以在Cocos Creator文档中找到完整的API参考和示例代码。通过熟练掌握Graphics组件,您可以创建出精美的2D图形和视觉效果,增强您的游戏体验。


        总之,Graphics是Cocos Creator非常强大的组件之一,可以用于创建并渲染各种2D图形。它具有丰富的属性和方法,使得用户可以轻松地实现各种效果。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试篇-Java并发之CAS:掌握原理、优缺点和应用场景分析,避免竞态问题

1、CAS介绍及原理 多线程中的CAS(Compare-and-Swap)操作是一种常见的并发控制方法,用于实现原子性更新共享变量的值。其核心思想是通过比较内存地址上的值和期望值是否相等来确定是否可以进行更新操作,从而避免多线程条件下的竞态…

用PyTorch构建基于卷积神经网络的手写数字识别模型

本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 目录 一、MINST数据集介绍与分析 二、卷积神经网络 三、基于卷积神经网络的手写数字识别 一、MINST数据集介绍与分析 MINST数据库是机器学习领域非常经典的一个数据集&#xff0c…

动力节点王鹤SpringBoot3笔记——第八章 文章管理模块

目录 第八章 文章管理模块 8.1 配置文件 8.2 视图文件 8.3 Java代码 第八章 文章管理模块 创建新的Spring Boot项目,综合运用视频中的知识点,做一个文章管理的后台应用。 新的Spring Boot项目Lession20-BlogAdmin。Maven构建工具,包…

【UE4】关卡流送的demo

关卡流送功能可以将地图文件加载到内存中,或者从内存中卸载,并在游戏过程中切换地图的可视性。 这样一来,场景便能拆分为较小的地图块,并且只有相关部分才会占用资源并被渲染。 正确设置后,开发者便能创建大型、无缝衔…

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

场景 目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。 1、SRS GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and …

ChatGPT批量翻译-ChatGPT批量生成多国语言

ChatGPT翻译的准吗 ChatGPT是一种基于Transformer架构的自然语言处理技术,其翻译准确性取决于所训练的模型和数据集的质量。在特定的语料库和训练数据下,ChatGPT可以实现一定程度的准确翻译。但是,与人工翻译相比,ChatGPT的翻译质…

LeetCode_101

千奇百怪的排序算法 快速排序 采用左闭右开的二分写法 归并排序 插入排序 冒泡排序 选择排序 以上代码的调用方式: 快速选择 在一个未排序的数组中,找到第 k 大的数字 快速选择一般用于求解 k-th Element 问题,可以在 O(n) 时间复杂度&…

Unix、UTC、GPS时间戳及转换

UTC时间 UTC时间的英文全称:Universal Time Coordinated,中文名称:协调世界时。俗的理解为,这个时间是全世界通用的,即全世界都公用的一个时间。可以认为格林威治时间就是时间协调时间(GMTUTC)&…

测试名词介绍

测试名词介绍一:敏捷测试1. 定义:2. 敏捷测试的核心:3. 敏捷测试的8大原则和传统测试的区别二:测试名词介绍瀑布模型回归测试Alpha测试Beta测试性能测试白盒测试黑盒测试灰盒测试三:测试流程单元测试 (unit test)集成测…

ChatGPT想干掉开发人员,做梦去吧

很多人都发现ChatGPT可以做一些代码相关的工作,不仅可以写一些基础的类似python、java、js的代码段,还可以做一定量的调优,于是就开始担忧起来,到哪天我的开发工作会不会被ChatGPT这个工具给取代了? 目录 1. ChatGPT…

前 K 个高频元素(力扣刷题代码随想录刷题)

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 思路: 要统计元素出现频率对频率排序找出前K个高频元素首先统计元素出现的频率,这一类的问题可以使用map来进行统计。 然后是对频率…

【血泪建议】软件测试岗位现状,可惜之前没人告诉我,肠子都晦青了....

谈到现状,国内的软件测试行情目前呈现了两极分化的极端情况。 一个是早期的手工测试人员吐槽工作不好做,即使有工作也是外包,而且薪资太低;一方面是很多互联网企业感叹自动化测试人才难找,有技术的自动化测试工程师&a…

批量自动翻译软件-准确的翻译软件

现代社会,在全球化背景下,语言障碍是碍企业发展的主要因素之一。而翻译软件的出现,为人们跨越语言障碍带来了新的解决方案。针对翻译需要大量文字内容的情况,有一些能翻译大量文字的翻译软件: 147CGPT翻译软件特点&…

面试篇-揭开Spring Bean加载的神秘面纱

SpringBean加载完整过程 启动spring容器(创建beanfactory)->加载配置(注解、xml)->实例化bean(执行构造方法)->注入依赖->初始化bean(设置属性值)->使用->销毁 解析和读取 XML 配置文件或注解配置类&#xff0…

【C++基础】引用(引用的概念;引用的特性;常引用;使用场景:做输出型参数、大对象传参、做输出型返回值、返回大对象的引用);引用和指针的区别)

六、引用 6.1 引用的概念 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。(语法上) 格式:类型& 引用变量名(对象名) …

用vscode运行Java程序初体验

最近开始学习Java编程了,以前学习过C、C 、Python,主要用微软的visual studio code来运行python程序,于是就尝试了用vscode来运行java代码,记录一下使用的经验,帮助大家少走弯路。 安装了Java的集成编辑器IDE "Ec…

Docker环境安装

Docker环境安装Docker简介Docker工作原理Docker的应用场景Docker 的优点CentOS Docker 安装与配置Docker 安装Docker 配置Docker容器概念Docker容器操作拉取镜像删除镜像容器相关命令创建并启动容器停止和恢复容器删除容器Docker简介 Docker 是一个开源的应用容器引擎&#xf…

不卷不成魔,新时代的IT人员更需要卷,不卷不成活

简介 从2022年开始至今,IT界发生了很多巨大的变革带来了许多巨大的变化。 这些变革、这些变化导致了有人欢喜有人悲、有人迷茫有人焦虑。1年半来,迷茫、焦虑、精神内耗了也都差不多了,大家都已经认识到了现实,作为凡人的我们所能…

【防止恶意用户注册】-- 手机在网状态 API 的防欺诈应用解析

简介 手机在网状态 API 支持传入手机号码,查询手机号在网状态,返回在网、在网不可用、不在网(销号/未启用/停机)等多种状态,查询手机号在网状态之后,可以根据具体的业务需求来进行不同的处理。 本文主要介…

由libunifex来看Executor的任务构建

前言 之前的一篇文章讲述了future的优缺点,以及future的组合性,其中也讲述了构建任务DAG一些问题,同时给出了比较好的方案则是Executor。 Executor还未进入标准(C23),Executor拥有惰性构建及良好的抽象模型…