在上一篇,我们学习了,脚本生成的基本使用. 在这一篇,我们试着深入,聊聊脚本生成给我们带来的便利. 脚本生成的便利 首先,我们要知道,在 Unity 的游戏世界中都是以 GameObject 为单位的,而 GameObject 是可以设置子 GameObject 的.所以,一般我们看到的 GameObject 都是呈树结构的. 而树结构,是一个比较好管理的结构,有层次的同时又有单向依赖关系. 在上一篇说到,在父节点获取子节点的对象,我们一般用 GameObject.Find 或 tranform…
在上一篇,我们对 QFramework 的两个主要版本提供了介绍,并且写下了第一个 QFramework 脚本. 在这一篇,我们学习 QFramework 中几乎每个项目都要用到并且从中受益的功能:自动生成脚本并绑定,简称脚本生成. 我们先在场景中,随便创建一些有父子结构的 GameObject,如下所示: 它们都是空的节点,并没有什么真正的逻辑,只是为了展示一种通常的父子结构. 现在 GameRoot 里写了一个脚本,而脚本需要获取到 Player 的 GameObject. 我们一般会在 G…
我们花了四篇文章,介绍了 QF 中的脚本生成功能. 实际上 QF 中的脚本生成是有两种的,第一种就是我们现在学习的 ViewController + Bind 模式. 这种模式是为除 UGUI 以外的脚本生成提供的,也就是说如果是 游戏对象 或者是 NGUI.FGUI 还是 XXGUI,只要不是 UGUI,就推荐使用 ViewController + Bind 模式. 如果你的项目已经在用某个 UGUI 框架了,那么也推荐使用 ViewController + Bind 模式. 如果你在新项目用…
在上一篇,我们简单介绍了 ViewController 的嵌套实现. 在这一篇,我们学习 ViewController 脚本生成的最后一个功能,即:生成 Prefab. 实际上这个功能非常简单. 我们先看下 ViewController 的面板,如下图所示: Player 1 是,已经生成过脚本的 ViewController. 要想生成 Prefab,很简单,只需要把 生成 Prefab 勾上,并且把要生成的目录填好即可. 然后点击,生成代码,就能看到 Prefab 在目录中生成成功. 如下图…
在上一篇,我们刚刚结束了 脚本生成专题,我们知道 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 是一套 快速开发 框架,适用于任何类型的游戏 及 应用项目.…
原文:Knockout应用开发指南 第四章:模板绑定 模板绑定The template binding 目的 template绑定通过模板将数据render到页面.模板绑定对于构建嵌套结构的页面非常方便.默认情况, Knockout用的是流行的jquery.tmpl模板引擎.使用它的话,需要在安装页面下载和引用jquery.tmpl和jQuery框架.或者你也可以集成其它的模板引擎(虽然需要了解Knockout 内部知识才行). 例子 ), makeOlder: function () { th…
Redis 小白指南(四)- 数据的持久化保存 简介 因为 redis 将数据保存在内存中,很容易诱发的一个问题就是,程序崩溃或服务器重启等情况如何保证数据的正常存储. 当我们以 redis 作为主数据库使用时,或者将 redis 作为缓存服务器使用时,在缓存被穿透后会对性能造成很大的影响,所有缓存同时失效,产生缓存雪崩效应,服务器崩溃. 持久化:将内存中的数据同步保存到硬盘上,在需要的时候将硬盘中的数据进行还原恢复. 持久化的方式:RDB 和 AOF,很多的时候是两者结合使用. (1)RDB:…
跟大家的交流是我的动力. :) 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…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第七十四章:内部类与静态内部类相互嵌套 下一章 "全栈2019"Java第七十五章:内部类持有外部类对象 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习…
生成随机密码(urandom版本) #!/bin/bash #Author:丁丁历险(Jacob) #/dev/urandom文件是Linux内置的随机设备文件 #cat /dev/urandom可以看看里面的内容,ctrl+c退出查看 #查看该文件内容后,发现内容有些太随机,包括很多特殊符号,我们需要的密码不希望使用这些符号 #tr -dc '_A-Za-z0-9' #该命令可以将随机文件中其他的字符删除,仅保留大小写字母,数字,下划线,但是内容还是太多 #我们可以继续将优化好的内容通过管道传…
一.调试 当你的应用开始运行,那么DEBUG是不可避免的问题. 早些时候,我们在描述的是如何通过kubectl get pods来获得Pod的简单状态信息. 但是现在,这里有更多的方式来获得关于你的应用的更多信息. 1.使用kubectl describe pod来获得Pod的详细信息 在这个例子中,我们将会像之前的例子一样使用RC来创建两个Pod: apiVersion: v1 kind: ReplicationController metadata:   name: my-nginx spe…
本文将详细介绍如何在Java端.C++端和NodeJs端实现基于SSL/TLS的加密通信,重点分析Java端利用SocketChannel和SSLEngine从握手到数据发送/接收的完整过程.本文也涵盖了在Ubuntu系统上利用OpenSSL和Libevent如何创建一个支持SSL的服务端.文章中介绍的知识点并未全部在SMSS项目中实现,因此笔者会列出所有相关源码以方便读者查阅.提醒:由于知识点较多,分享涵盖了多种语言.预计的学习时间可能会大于3小时,为了保证读者能有良好的学习体验,继续前请先安…
转载:http://www.csdn.net/article/2015-01-14/2823554/2 摘要:CoreOS是采用了高度精简的系统内核及外围定制的操作系统.ThoughtWorks的软件工程师林帆将带来“漫步云端:CoreOS实践指南”系列文章,介绍CoreOS精华和推荐的实践方法.本文为基础第四篇:集群的指挥所Fleet. 集群上的服务生命周期 刚刚的启动流程看起来很简单,不是么?在实际的使用中,如果为了省事,用Fleet启动一个服务,这样做就可以了.但这种做法其实会带来的服务管…
SQL必知必会(第4版)学习笔记 插入数据 插入有几种方式: 插入完整的行 插入行的一部分 插入某些查询的结果(INSERT SELECT) 注意:省略列 如果表的定义允许,则可以在 INSERT 操作中省略某些列.省略的列必须满足以下某个条件: 该列定义为允许 NULL 值(无值或空值),注:创建表时,如果不指定 NOT NULL,就认为指定的是 NULL. 在表定义中给出默认值.这表示如果不给出值,将使用默认值. 如果表中不允许有 NULL 值或者默认值,这时却省略了表中的值,DBMS 就会…