自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 数据结构课程实践3——文本文件单词的检索与计数

数据结构课程实践——文本文件单词的检索与计数——实验准备实验要求设计思路文件读取KMP算法匹配实验要求统计给定单词在文本文件中出现的总次数,检索输出的某个单词出现在文本中的行号、在该行中出现的位置。文件格式:文本文件中每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写设计思路文件读取KMP算法匹配...

2021-03-12 09:07:59 960

原创 数据结构实践1——学生档案管理系统

目录算法代码pojoStudent类Account类dataStudentInfo类DAOStudentDAO类AccountDAO类serviceStudentSystem类Main算法排序算法自己曾经的总结,这里不再赘述:链接: https://blog.csdn.net/m0_46113894/article/details/109520450.文件的存储与读取:使用BufferReader缓冲流读取,并使用装饰模式,使用输入流与文件流构造使用BufferWriter写文件,构造时注意:文

2021-03-11 23:10:52 599

原创 八数码问题——康托展开+A*算法

八数码问题——康托展开+A*算法康托展开节点类A星算法搜索判断0点的移动:open表的排序:估值函数:算法流程:完整代码:Search类:A星算法的实现(主要的逻辑都在这里)MyNode类:(存储每个节点的状态,以及参数的获取)Main:算法启动,获取结果链展示康托展开康托展开能够将一系列排列组合映射到有限集中,常用于构建哈希表时的空间压缩。在这里能够完成各种组合的判重。如{0,1,2,3,4}五个数字的所有排列组合,使用康托展开能够将排列组合的情况恰好转换为5!=120个整数,极大的节约空间,同时也

2021-03-04 21:51:54 428 2

原创 数据结构课程实践——隐式图的搜索问题——实验准备

数据结构课程实践——隐式图的搜索问题——实验准备A*算法实验要求:3х3九宫棋盘,放置数码为1~8的8个棋子,棋盘中留有一个空格,空格周围的棋子可以移动到空格中,从而改变棋盘的布局。根据给定初始布局和目标布局,移动棋子从初始布局到达目标布局,求解移动步骤并输出。请设计算法,使用合适的搜索策略,在较少的空间和时间代价下找到最短路径。A*算法常用于求解地图中一点到另一点的最优路径,一般都是带有障碍物的路线启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这

2021-03-02 00:41:37 264 1

原创 数据结构课程实践——学生成绩档案管理系统——实验准备

数据结构课程实践——学生成绩档案管理系统——实验准备需求分析系统设计主函数设计功能模块需求分析学生信息录入,信息包括学号、姓名、专业、四门课成绩、总分、名次;系统可对学生信息浏览、增加、删除和修改;按学生成绩确定名次及信息输出,双向冒泡排序、希尔排序、快速排序、堆排序。要求可对学生信息查询,根据学号或姓名进行查找;信息修改仅可修改四门课成绩;文件存取学生信息。系统设计主函数设计功能模块...

2021-03-01 21:43:03 427 1

原创 cocos物理系统

刚体组件刚体的种类有几种:static0质量、0速度,不受重力影响。适用建筑物、地面等dynamic有质量,服从牛顿定律。kinematic0质量、可以有速度。比如子弹这种小质量物体需要在脚本中cc.director.getphysicsManager().enabled=true物理碰撞组件:Friction 摩擦系数,比如在一个斜坡下滑时Restitution弹性系数,规定相撞时的反弹能力注意:物理组件的碰撞不需要再开启碰撞系统,物理系统的开启已含有他。该碰撞

2021-01-27 11:49:44 1288

原创 cocos场景切换

场景切换从一个场景切换到另一个场景的方法:cc.director.loadScene(新手村);传入场景的名字即可,不需要加路径 changeSceneTo1(){ cc.director.loadScene('场景切换-1'); }加载场景需要一定的时间在本地加载约30M的文件加载使用了约1.2s的时间需要加载的资源有:节点节点上的组件组件所引用的资源文件,SpriteFrame/AudioClip/Font等每个资源都有一个UUID当两个场

2021-01-25 10:31:04 1087

原创 cocos飞机大战小游戏简单实例

游戏节点结构:最终效果游戏逻辑添加玩家与子弹的生成玩家的节点主要控制移动的点击事件监听、子弹的动态生成因为子弹需要频繁地生成与消除,故使用对象池来动态生成子弹,在Player脚本中生成子弹,在子弹脚本添加控制运动与碰撞的响应方法。玩家Player_plane脚本:移动响应方法、子弹动态生成方法、碰撞响应方法敌人的动态生成,将敌人设置为预制体,在Game主控脚本中随机生成,同时在敌人的脚本中添加控制运动、碰撞响应(包括被子弹击中和与玩家碰撞)得分统计,使用Score脚本中静态变量

2021-01-24 23:38:25 708

原创 cocos碰撞系统

cocos碰撞系统添加碰撞体开启碰撞检测添加碰撞体选中飞机节点,添加碰撞组件几种模式Box Collider 矩形碰撞体Circle Collider 圆形碰撞体Polygon Collider 多边形碰撞体 ( 即不规则形状 )Chain Colider直接生成边缘此处选择圆形 Circle Collider 。注意不规则区域点击Regenerate Point会自动生成边缘编辑碰撞体勾选 CircleCollider 的 Editing属性,开启编辑则在场景编辑

2021-01-19 00:36:39 1089 2

原创 cocos预制体与对象池

预制体预制体是实现编辑好的节点,用于动态创建节点在前面学过使用脚本动态创建节点,但是需要创建节点、创建节点下的属性、给属性赋值等一系列操作,很繁琐创建预制体在场景里添加一个节点先把这个节点调好,比如图片、脚本、属性参数等把调好的节点,拖到资源管理器则自动将节点创建为一个Prefab文件(*.prefab)从场景中原始节点预制体资源已经准备好,原始节点删掉就行使用预制体预制体相当于一个模板,里面已经说明了该节点的所有参数根据预制体来创建节点:设置属性@property(cc.P

2021-01-18 00:31:38 944

原创 cocos动画编辑器

cocos动画编辑器动画编辑器添加动画编辑动画插入关键帧呼吸效果帧动画不规则路线动画编辑器添加动画添加节点添加 Animation 组件选中节点,在属性检查器里,添加组件 | 其他组件 | Animation添加 Animation Clip 动画片段在资源管理器里,添加 anim 目录,添加 Animation Clip 。把 Clip 添加到 Animation 组件的Default Clip记得勾选Play On Load选项对照下图设置:Animation 组件:用于播放

2021-01-16 22:46:54 481

原创 cocos的音乐与音效及其实例

cocos的音乐与音效及其实例听音辨字实例游戏里的声音按功能分为:音乐 Music(BGM)背景音乐音效 Audio当执行动作或响应的被脚本调用的音效配音 Voice播放声音,一般为2种办法:Audio source组件,一般适用于背景音乐播放,在节点上添加Audio source组件,设置相关属性即可Audio Engine ApI播放即 cc. audioEngine.play(clip,loop,volume)一般适用音效和配音的播放AudioSource的设置:Clip:

2021-01-13 23:35:37 2059 1

原创 cocos屏幕适配问题

cocos屏幕适配问题Widget组件分辨率与像素竖屏设计一般分辨率为:16:9 ,例如1920x1080 , 1280x720 , 960x540 , 640x360 等3:2 ,例如 1200x800 ,960x640 等目前的全面屏手机,分辨率会比16:9更长一些设计分辨率常常与手机分辨率不同,边缘位置元素可能显示出来的位置并不在设计的位置,因此,当两者的分辨率不同时就需要屏幕适配。适配规则:如果屏幕分辨率也是3:2,则直接缩放如果屏幕分辨率不是3:2,则高度固定为640 (

2021-01-11 22:23:26 725

原创 cocos的几个常用组件的深入用法

cocos的几个常用组件的深入用法Button组件Transition组件:按钮的动画效果Click Events:按钮的响应脚本label组件文字超出处理Overflow4种类型:外部字体的导入:Sprite组件Trim Type属性:图片导入时的裁剪格式Type属性:指定填充格式Mask组件Button组件按钮的几种形式:LabelSpritebutton以上的组件都能实现Button都可添加Button组件实现按钮效果。Transition组件:按钮的动画效果COLOR:S

2021-01-10 23:46:10 589 1

原创 cocos射击小游戏

场景布置游戏资源炮塔旋转机制与之前手柄实例的小车相同,使用touchmove监听触摸事件,获取触摸位置通过位置用signAngle方法将该位置与cc.v2(1,0)位置的角度差求出(记得要加负号,比较所得逆时针为负,赋值angle逆指针为正)。所求的的角度即为最终角度。 onLoad(){ //初始化为90度 this.node.angle=90; this.node.on('touchstart',this.onTouchStart,t

2020-12-17 00:52:21 542

原创 matlab的基本操作

matlab的基本操作基本数据类型数值逻辑函数句柄结构体数组访问数组的常见运算矩阵基本操作构建矩阵大小及结构的改变矩阵下标引用单元数组类型创建寻访基本操作基本语句结构if-else(判断可以不加括号)switch-casetry-catchfor循环while循环基本数据类型数值注意single不能与int计算系统默认的数值类型是double的,所以使用double时可以省略double符号转换函数:floor(向下取整)、ceil(向上取整)、round(取最接近的整数)、fix(向0取整)

2020-12-02 19:46:20 542

原创 数据结构二叉树例题总结

数据结构二叉树例题总结1.设计一个在二叉链表存储结构上统计二叉树中结点个数的算法。1.设计一个在二叉链表存储结构上统计二叉树中结点个数的算法。

2020-12-01 00:32:55 1330

原创 数据结构线性表操作与例题总结

1. 设有一个整数顺序表,编写函数将其调整为奇数在前,偶数在后。思路为left从表头出发找到第一个偶数,right从表尾出发,找到第一个奇数,若此时left<right则交换两个元素简化了答案的操作,方便理解与记忆。void revise(int a[], int n){ int left = 0; int right = n - 1; int tmp = 0; while (left < right) { while (a[right] % 2 == 0) right-

2020-11-30 21:59:34 1404 5

原创 算法日记2——快速幂

算法日记2——快速幂题目描述解题思路:快速幂题目描述链接:题目出处解题思路:快速幂求位数,使用log10的运算,log10(2^p)-1=p*log10(2)-1;幂运算最终必然会指数爆炸,超出表示范围unsigned int 0~4294967295int -2147483648~2147483647unsigned long 0~4294967295long -2147483648~2147483647long long的最大值:922337203685477

2020-11-24 23:10:01 132

原创 算法日记1(二维数组排序)

第一道题目解题思路从左到右遍历,选取最小元素,判断条件有两个:已筛选序列中最小同时满足下标<=k代码Java版package LeeCode;import java.util.Arrays;import java.util.Scanner;public class DeleteNumber11_23 {/** 从左到右遍历,选取最小元素,判断条件有两个:已筛选序列中最小同时满足下标<=N-k* */public static void main(String[] ar

2020-11-23 22:13:41 191

原创 Cocos发射子弹实例(动态创建节点)

Cocos发射子弹实例(动态创建节点)1. 动态创建节点2. 附加脚本3. 爆炸效果实现点击炮台发射子弹并最终让子弹爆炸的动画效果1. 动态创建节点先实现点击炮台将子弹动态的出现在屏幕中。新建一个空节点,在该节点上添加Sprite属性并赋值,再将其挂载到响应父节点下。 @property(cc.SpriteFrame) bulleteicon:cc.SpriteFrame=null; onLoad () { this.node.on("touchstart

2020-11-23 01:41:25 2491

原创 Cocos之遮罩小实例

Cocos之遮罩小实例遮罩点击消失模态提示框BlockInputEvents组件的使用遮罩点击消失效果,点击屏幕消失遮罩组件结构在Mask组件中添加脚本, onLoad () { this.node.on('touchstart',this.onClick,this); } onClick(e:cc.Event.EventTouch){ this.node.active=false; }设置node.active为false即为让该

2020-11-21 22:05:46 876

原创 Cocos资源动态加载

Cocos资源动态加载资源加载闭包加载多个资源资源加载Cocos资源的加载,有两种方式:静态加载直接在属性管理器指定,在节点被加载时一并加载动态加载在脚本中,使用代码 cc.resources.load () 运行时加载,实现方法: onClicked(){ let self = this; // 这是JS中的闭包语法 cc.resources.load("icon/汽车", cc.SpriteFrame, function (err, assets)

2020-11-20 00:24:37 2936

原创 cocos之Gif图

cocos之Gif图Gif的提取图片的动态显示Atlas及图集资源图集资源Atlas使用Gif的提取放入PS,导出图层各图片,注意要背景透明。图片命名从0开始,与脚本中数组的显示一致。图片的动态显示由于图片进入cocos后图片无背景,导致图片大小不一,这样显示时就会出现如下问题:(图片大小位置不一)要将每张图片的TrimType属性设置为none(一张一张的设置) @property( [cc.SpriteFrame] ) frames: cc.SpriteFrame[]

2020-11-18 21:15:44 2314

原创 cocos之游戏手柄控制实例

cocos之游戏手柄控制实例1.场景布置2. 添加手柄监听器3. 添加小车的控制1. 小车的旋转2. 小车的移动最终效果1.场景布置2. 添加手柄监听器监听事件的变化由原先的mouse系列的转换为touch系列的touchstart 触摸按下,相当于 mousedown2 . touchmove 触摸移动,相当于 mousemovetouchend 触摸抬起,相当于 mouseuptouchcancel 触摸取消,被其他事件终止,相当于按下了ESC键坐标设定:当触摸

2020-11-17 19:54:20 920 2

原创 cocos之动画

cocos之动画

2020-11-17 01:05:26 767

原创 cocosr之缓动系统

cocos之缓动系统坐标系缓动系统练习坐标系创建坐标Vec2 : 二维坐标 (x, y)pos = new cc.Vec2(100,100);pos = cc.v2 ( 100, 100);Vec3 : 三维坐标 (x, y, z)pos = new cc.Vec3 (100,100, 0);pos = cc.v3 ( 100, 100, 0);一般用3维坐标系,2D图形也用,只是z=0获取坐标let pos : cc.Vec2 = node.getPosition();设置

2020-11-15 20:16:56 559

原创 节点相关API

节点相关apiAPI 获取节点API 获取组件脚本组件的访问API 获取节点当前节点 this.node : cc.Node例如 let node : cc.Node = this.node;父节点 this.node.parent子节点 this.node.children : cc.Node[]全局查找例如 target = cc.find (“Canvas/佩奇/名字”)注意不是文件路径查找子节点例如 target = cc.find(“xx/yy”, someNo

2020-11-14 21:52:35 199

原创 TypeScript在CocosCreater中的应用

TypeScript在CocosCreater中的与应用与JavaScript的联系使用时要注意的语法属性的定义属性的应用与JavaScript的联系TypeScript , 强类型的 JavaScript ,可以编译为纯JavaScript:链接: TS的手册.使用TS的原因:JS没有类型标识,编辑器无法精确的提示,为方便书写,使用TS。同时TS支持JS的大部分语法,只是注意变量定义、方法返回的特性等即可。TypeScript的语法比较庞杂,无需深究使用时要注意的语法变量定义JS:

2020-11-14 00:17:35 334 1

原创 cocos小实例--移动人物

cocos小实例--移动人物文件资源:此游戏的功能细节:1 鼠标事件响应 用两个按钮,控制角色的左右移动2 键盘事件响应 点箭头键,也可以控制角色的移动3 状态切换 左移时,角色脸朝左边;右移则朝向右边4 伴随音效 左右移动时,伴有脚步声的音效代码:const {ccclass, property} = cc._decorator;@ccclassexport default class NewClass extends cc.Component { // @prope

2020-11-13 00:09:54 664

原创 cocos学习记录cc.Node坐标空间

cc.Node坐标空间cc.Vec2/Sizecc.Rectcreator坐标系cc.Vec2/Sizecc.Vec2 二维向量坐标, 表结构{x: 120, y: 120}; cc.v2(x, y) 创建一个二维向量(v2a对象).sub(v2b对象): a-b向量相减cc.mag(): 向量长度;链接: vec2官方API.cc.Size: 包含宽度和高度信息的对象 {width: 100, height: 100};new cc.Size(w, h), cc.size(w, h

2020-11-10 22:01:45 198 1

原创 cc.Node事件响应

cc.Node事件响应触摸事件键盘事件自定义事件触摸事件触摸事件类型: START,MOVED, ENDED(物体内), CANCEL(物体外):监听触摸事件: node.on(类型, callback, target(回掉函数的this),[useCapture]);this.node.on(cc.Node.EventType.TOUCH_START, this.memberFunction, this); // if “this” is component and the “member

2020-11-09 23:57:15 1370 1

原创 cc.node场景树

cc.node场景树概述常用属性概述creator是由一个一个的游戏场景组成,通过代码逻辑来控制场景跳转;creator场景是一个树形结构, 父节点下多个孩子节点cc.Node就是场景树中的节点对象。每个节点只要在场景里面,所以任何一个节点都有一个 cc.Node常用属性name:获取节点的名字(属性框最上面的框)active设置节点的可见性;(name属性旁边的小勾)position:相对坐标;rotation:旋转scale:缩放;anchor:锚点Size:大小Col

2020-11-09 00:14:16 197

原创 排序方法总结

数据结构之排序方法总结插入排序直接插入排序代码运行希尔排序插入排序直接插入排序基本思想:将待排序的序列中的每一个元素插入到一个已排好序的序列中,使用数组第一个位置或者工作指针,来存放待插入的元素,待插入的元素从后往前和有序区的每个元素比较,将>=自己的全部向后移动(链表不需要)最后放入自己的位置。适合条件:序列中的记录已经一基本有序或者排序记录较少当排序记录个数较多时,大量的比较和移动操作使得其效率很低算法分析代码顺序表实现://简单插入排序void InsertS

2020-11-06 01:10:54 329 4

原创 cocos官方实例代码api学习

cocos官方实例代码api学习整体代码结构Game.js:控制游戏的整体逻辑与运行Player.js:主角的运动Star.js:星星的消失其他函数的实现调用函数整体代码结构Game.js:控制游戏的整体逻辑与运行控制游戏的初始化、是否继续主要有以下几个模块:properties:(属性值)starPrefab:这个属性引用了星星预制资源maxStarDuration: 0, // 星星产生后消失时间的随机范围minStarDuration: 0,ground: // 地面节

2020-11-05 00:34:18 884

原创 邻接矩阵存储与遍历

数据结构之图的邻接矩阵存储与遍历描述代码运行描述邻接矩阵的存储方式为用一个一维数组vertex用来存放节点和一个二维数组arc用来存放边的关系;无向图为对称阵,有向图不一定1.创建一个无向图(采用邻接矩阵方式存储);2.分别输出从结点0开始的一个深度优先遍历序列和一个广度优先遍历序列。代码/*1.创建一个无向图(采用邻接矩阵方式存储);2.分别输出从结点0开始的一个深度优先遍历序列和一个广度优先遍历序列。*/#include<iostream>using namesp

2020-11-03 21:21:58 903

原创 CocosCreater资源工作流程

CocosCreater资源工作流程创建与资源管理场景资源(Scene)图像资源(Texture)创建与资源管理资源管理器 中的资源和操作系统的文件管理器中看到的项目资源文件夹是同步的,动其一都会同步对另一做出修改管理资源配置文件(.meta)所有 assets 路径下的资源都会在导入时生成一份 资源配置文件(.meta)这份配置文件提供了该资源在项目中的唯一标识(uuid)以及其他的一些配置信息(如图集中的小图引用,贴图资源的裁剪数据等),非常重要。在编辑器中管理资源时,meta 文

2020-11-02 20:29:37 548

原创 上手第一个Cocos小游戏form官方文档

上手第一个Cocos小游戏form官方文档文件结构游戏构建流程1. 创建游戏场景(小火苗图标)2、设置场景图像3、编写脚本4、制作 Prefab(预制资源)5、添加游戏控制脚本、游戏逻辑等控制JS代码源码小游戏演示文件结构assets : 项目资源的根目录,只有这个目录下的资源才会显示在 Creator 编辑器的 资源管理器 面板中texture:各式各样的缩略图标,等图像资源script:所有的脚本代码文件夹小火苗图标:scene场景,游戏的场景及Canvas在其下绘制游戏构建流程1

2020-11-01 22:17:14 413 4

原创 CocosCreater之初体验

CocosCreater之初体验层级管理器组件式开发支持JS脚本化开发UI组件基本UI元素——Sprite精灵基本UI元素——Label文字####组件化开发数据驱动的全新工作流场景文件是数据驱动工作流的核心场景中包括图像资源、动画、特效以及驱动游戏逻辑和表现的脚本层级管理器可随意拖动到另一个节点下构造父子关系,父节点的操作也会对子节点影响;调整节点顺序可以更改渲染顺序,即谁在谁的上面组件式开发组件式开发将功能分解为独立的单元,通过组合创造无限可能,避免重复代码同时并不需要更改

2020-10-31 01:04:34 247

原创 上手微信小游戏——官方实例学习,第一天学习游戏结构与逻辑

上手微信小游戏——官方实例学习文件结构代码内容文件结构├── base // 定义游戏开发基础类│ ├── animatoin.js // 帧动画的简易实现│ ├── pool.js // 对象池的简易实现│ └── sprite.js // 游戏基本元素精灵类├── l

2020-10-29 23:47:13 320

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除