我们花了四篇文章,介绍了 QF 中的脚本生成功能. 实际上 QF 中的脚本生成是有两种的,第一种就是我们现在学习的 ViewController + Bind 模式. 这种模式是为除 UGUI 以外的脚本生成提供的,也就是说如果是 游戏对象 或者是 NGUI.FGUI 还是 XXGUI,只要不是 UGUI,就推荐使用 ViewController + Bind 模式. 如果你的项目已经在用某个 UGUI 框架了,那么也推荐使用 ViewController + Bind 模式. 如果你在新项目用…
在上一篇,我们对 QFramework 的两个主要版本提供了介绍,并且写下了第一个 QFramework 脚本. 在这一篇,我们学习 QFramework 中几乎每个项目都要用到并且从中受益的功能:自动生成脚本并绑定,简称脚本生成. 我们先在场景中,随便创建一些有父子结构的 GameObject,如下所示: 它们都是空的节点,并没有什么真正的逻辑,只是为了展示一种通常的父子结构. 现在 GameRoot 里写了一个脚本,而脚本需要获取到 Player 的 GameObject. 我们一般会在 G…
在上一篇,我们简单介绍了 ViewController 的嵌套实现. 在这一篇,我们学习 ViewController 脚本生成的最后一个功能,即:生成 Prefab. 实际上这个功能非常简单. 我们先看下 ViewController 的面板,如下图所示: Player 1 是,已经生成过脚本的 ViewController. 要想生成 Prefab,很简单,只需要把 生成 Prefab 勾上,并且把要生成的目录填好即可. 然后点击,生成代码,就能看到 Prefab 在目录中生成成功. 如下图…
在上一篇,我们学习了,脚本生成的基本使用. 在这一篇,我们试着深入,聊聊脚本生成给我们带来的便利. 脚本生成的便利 首先,我们要知道,在 Unity 的游戏世界中都是以 GameObject 为单位的,而 GameObject 是可以设置子 GameObject 的.所以,一般我们看到的 GameObject 都是呈树结构的. 而树结构,是一个比较好管理的结构,有层次的同时又有单向依赖关系. 在上一篇说到,在父节点获取子节点的对象,我们一般用 GameObject.Find 或 tranform…
在上一篇,我们刚刚结束了 脚本生成专题,我们知道 QF 提供了两种脚本生成模式,一种是 ViewController + Bind ,另一种是 UI Kit 模式. 本来打算,介绍完 ViewController + Bind 模式后,再介绍 UI Kit 模式. 但是在学习 UI Kit 之前,我们需要先了解一点 Res Kit. Res Kit 简介 Res Kit,是 QF 的一大杀器,顾名思义,它是负责资源的. 特性如下: 可以使用一个 API 从 dataPath.Resources.…
目前 QFramework 有两个可供安装的版本 PackageKit:QFramework 的插件平台,可以下载只感兴趣的插件,除了 Framework 模块还有一些 Shader 案例.项目模板.不依赖 Framework 的模块.教程.社区等功能和模块. Framework:包含了 PackageKit,以及 UI Kit.Res Kit 等内置模块,如果是想尝试使用 QFramework 的童鞋建议使用. 下载地址在:http://qf.liangxiegame.com/qf 本教程主要…
在上一篇我们了解了 Res Kit 的一些背后设计原理,讲解了一些概念,比如:开发阶段.真机阶段等. 在这一篇,我们回到 Res Kit 使用细节上. 在 Res Kit 的第一篇,我们介绍了 Res Kit 的基本使用,代码如下: using QF.Res; using QF.Extensions; using UnityEngine; namespace QF.Example { public class TestResKit : MonoBehaviour { void Awake ()…
在上一篇,介绍了 Res Kit 的基本使用,相信大家已经体会到了 Res Kit 的简便之处了. 在这一篇,我们试着探讨一下 Res Kit 的设计背后原理. AssetBundle 的不便之处 在使用 Res Kit 之前,相信大家多多少少接触过 AssetBundle. 有的童鞋可能是在项目中用过 AssetBundle,有的童鞋可能只是简单学习过 AssetBundle.总之,AssetBundle 在不通过 Res Kit 使用之前,总结下来就两个字:麻烦. AssetBundle 麻…
大家好,我是 QFramework 的作者 凉鞋,QFramework 从第一次代码提交到现在快 5 年了,期间陆陆续续增加了很多功能,在使用体验上做了大量的改进. 而市面上关于 QFramework 的资料却零零散散,所以 笔者 打算在此写一系列 QFramework 的使用教程. 而此教程,将收录于 QFramework 的官方文档,发布于 qf.liangxiegame.com. QFramework 简介 QFramework 是一套 快速开发 框架,适用于任何类型的游戏 及 应用项目.…
开发指南专题六:JEECG微云高速开发平台代码生 1.1. 代码生成扫描路径配置 用代码生成器生成代码后.须要进行相关配置配置,扫描注入control.service.entity等; 具体操作过程例如以下: 1. control扫描配置,在spring-mvc.xml文件中面 2. Service扫描路径配置, spring-mvc-hibernate.xml watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdkYWlzY290dA==/f…
<JavaScript权威指南 第六版 中文版> 第二章 词法结构 2.1字符集 JavaScript是使用Unicode字符集编码写的. 2.1.1区分大小写 JavaScript是区分大小写的语言.也就是说,关键字.变量.函数名和所有的标识符都需要采用一致的大小写形式. 许多客户端JavaScript对象和属性与它们所表示的HTML标签和属性同名.在HTML中这些标签和属性名可以使用大写,而在JavaScript中则必须使用小写 2.1.2空格.换行符和格式控制符 JavaScript会忽…
原文:Knockout应用开发指南 第六章:加载或保存JSON数据 加载或保存JSON数据 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地存储需要序列化数据),交换数据最方便的就是使用JSON格式 – 大多数的Ajax应用程序也是使用这种格式. 加载或保存数据 Knockout不限制你用任何技术加载和保存数据.你可以使用任何技术和服务器来交互.用的最多的是使用jQuery的Ajax帮助,例如:getJSON,post和ajax.你可以…
跟大家的交流是我的动力. :) DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★★★★★(5星) 这个时间系列想写很久了,今天开始走一小步.也是作为后续关于时间计算文章的基础.    (文末发一个小福利. ) 概况: 关于时间序列的计算是一个很(也)常(很)用(大)的topic,而且应用范围很广,譬如计算同比,环比,根据时间序列预测某个值.必不可少的就是在模型里面有一个日期的维…
年C#研发的数据库文档生成工具,给之后的工作带来了便利.近日,又针对该工具,用WinForm开发了数据库脚本生成工具-DbExcelToSQL. 下面数据库文档生成工具效果图: 感兴趣的朋友可以看下[C#附源码]数据库文档生成工具支持(Excel+Html)这篇博客的介绍. 目前这套工具主要分为两个部分: 1.数据库文档生成工具 [功能]根据数据库表结构,生成Excel.HTML文档. [开发语言]C# [输出项目]控制台 2.数据库脚本生成工具 [功       能]根据Excel表格中的数据…
1. 用shell脚本生成带绝对路径的train.txt 例如我要生成如下形式的带标签的文件,如图:(如有两个标签:0 和 1) shell脚本如下: 这样标签0写入了train.txt # /usr/bin/env sh DATA=/home/ttwang/Desktop/Texture/0 DATASAVE=/home/ttwang/Desktop echo "Create train.txt..." # /usr/bin/env sh find $DATA -name Grass…
利用Python 脚本生成 .h5 文件 import os, json, argparse from threading import Thread from Queue import Queue import numpy as np from scipy.misc import imread, imresize import h5py """ Create an HDF5 file of images for training a feedforward style tr…
项目须要用脚本生成sitemap,中间学习了一下sitemap的格式和lxml库的使用方法.把结果记录一下,方便以后须要直接拿来用. 来自Python脚本生成sitemap 安装lxml 首先须要pip install lxml安装lxml库. 假设你在ubuntu上遇到了下面错误: #include "libxml/xmlversion.h" compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed wi…
使用python的py2exe模块可以很容易地帮助我们将python脚本生成可执行的exe程序.这样我们就可以让脚本脱离虚拟机的束缚,从而独立运行. 首先安装py2exe分解步骤如下:(pip和easy_install安装要么失败,要么使用的时候提示找不到模块)1.从官网下载安装包,https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/2.选择系统位数,下载后双击py2exe-0.6.9.win64-py2.7.amd64,下一步.…
学习shell脚本编程的一次实践,通过shell脚本生成数据库的markdown文档,代码如下: HOST=xxxxxx PORT=xxxx USER="xxxxx" PASSWORD="xxxxxx" DATABASE_PREFIX="xxxxxx" QUERY_DATABASE="select distinct TABLE_SCHEMA from information_schema.TABLES where TABLE_TYPE=…
配置表B 中的数据,可以从A表中查询到,在实际配置时,通过sql脚本生成B表的insert脚本,最多用到的是sql中连接符[||],以及双引号[''''] 例1:电销系统中地区出单机构关系表配置数据生成sql select 'insert into tbl_area_org_code (area_code,area_name,parent_area_code ,yc_area_code,dept_code,dept_name,area_short_name ,quan_pin,dept_flag…
Hello 大家好,我是TANZAME,我们又见面了. NuGet 是什么这里就不再重复啰嗦,园子里一搜一大把.今天要跟大家分享的是,在日常开发过程中如何统一管理我们的包,如何通过批处理脚本生成包并自动上传到 NuGet.在实际项目开发过程中我们要上传自己的包,一般的步骤都是:nuget spec => nuget pack => nuget push,一个包都要至少重复三个动作,如果有 N 个包那就要重复 N*3 次,想想都不能忍,所以便有了今天的分享主题. 生成目录 既然是统一管理,生成的…
前段时间参加了几个线下的靶机攻防比赛,几十个队伍,如果攻击的时候一个个攻击就非常麻烦,浪费时间.所以需要批量攻击.批量攻击就需要一个完整的ip地址表.在这里总结一下... 有不足的地方欢迎评论 一.脚本生成ip地址表 利用for循环,循环输出1到254,生成254个地址 为了方便可以将其重定向到一个文本文件中 二.echo命令生成ip地址表 在linux系统中,echo命令主要是用来做输出的,在这里同时也可以来非常方便的生成ip地址表 先来上一条命令:echo 192.168.80.{1..25…
DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate TIME Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★★★★★(5星) 这个时间系列想写很久了,今天开始走一小步.也是作为后续关于时间计算文章的基础.    (文末发一个小福利. ) 概况: 前文应该为生成日期维度,本文为时间维度 - 时刻. :) 有好些小伙伴问想按小时分析数据,咋办?有没有时间的脚本? 可以有! 一般来说把时间进行切片进行数据分析,粒度可分为:十年.五年.年.半年…
实验 2:Mininet 实验--拓扑的命令脚本生成 一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二.实验任务 通过使用命令行创建.Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能. 三.实验步骤 1. 实验环境 安装了 Ubuntu 16.04.7 Desktop amd64 的虚拟机 2. 实验过程 (1)针对特定拓扑的命令行快速创建 // 最小拓扑,1 台交换机下挂 2 台主机 $ sudo mn --topo minima…
Python脚本生成可执行文件&(恋爱小脚本) 参考文献: http://c.biancheng.net/view/2690.html; https://blog.csdn.net/qq_39463175/article/details/103259009 概述: python编辑好的脚本文件,如果需要发送给其他人就需要他人电脑上安装python且版本相差不能过大,容易导致出错. 因此直接打包生成可执行文件(.exe)文件,可以良好进行使用. 1.安装包 # 如果有虚拟环境则进入虚拟环境 pip…
全局ID通常要满足分片的一些要求:1 不能有单点故障.2 以时间为序,或者ID里包含时间.这样一是可以少一个索引,二是冷热数据容易分离.3 可以控制ShardingId.比如某一个用户的文章要放在同一个分片内,这样查询效率高,修改也容易.4 不要太长,最好64bit.使用long比较好操作,如果是96bit,那就要各种移位相当的不方便,还有可能有些组件不能支持这么大的ID. 一.UUID UUID生成的是length=32的16进制格式的字符串,如果回退为byte数组共16个byte元素,即UU…
原文:VS2017中 C# dll引用(C生成dll,C++生成dll)小结 - 简书 dll引用小结 一.dll与应用程序 动态链接库(也称为DLL,即为“Dynamic Link Library”的缩写)是Microsoft Windows最重要的组成要素之一,打开Windows系统文件夹,你会发现文件夹中有很多DLL文件,Windows就是将一些主要的系统功能以DLL模块的形式实现. 动态链接库是不能直接执行的,也不能接收消息,它只是一个独立的文件,其中包含能被程序或其它DLL调用来完成一…
目录 四十五.尽量减少装箱拆箱 四十六.为应用程序创建专门的异常类 四十七.使用强异常安全保证 四十八.尽量使用安全的代码 四十九.实现与 CLS 兼容的程序集 五十.实现小尺寸.高内聚的程序集 这是该系列的最后一篇.也许有些理论有可能会过时,我想它仍有存在的必要,人的知识水平也是一个不断成长的过程,学会站在前人的肩膀上,尝试不断的借鉴与总结. 四十五.尽量减少装箱拆箱 值类型是数据的容器,不支持多态. 装箱把一个值类型放在一个未确定类型的引用对象中,让该值作为引用类型所使用.拆箱指从引用类型的…
本篇是Chrome开发者工具的结尾篇,最后为大家介绍几款功能强大的插件.在chrome商店里面有很多插件,没事建议大家去逛逛.不过需要FQ,所以诸位请自备神器.一.皮肤插件 首先是大家期盼已久,翘首以盼的皮肤插件.这款插件叫DevTools Theme: Zero Dark Matrix.在商店中下载之,然后打开这个地址:chrome://flags,找到Enable Developer Tools experments (可以查找enable-devtools-experiments关键字迅速…
今天我们学习如何利用Ant调用Jmeter脚本,并将生成的 jtl 文件转换为 HTML 格式的测试报告. 准备工作 需要在Linux上提前安装好 JDK. Jmeter 和 Ant. 1,JDK(可参考文章:Linux下安装JDK 1.8) 2,Jmeter(可参考文章:Linux下安装Jmeter) 3,Ant(可参考文章:Linux下安装Ant) 在Linux上新建以下目录(根据自己实际情况处理): [root@wintest ~]# mkdir /root/demo [root@wint…