rect

【cocos2d-js官方文档】十四、cc.spriteFrameCache 改造说明

安稳与你 提交于 2019-12-05 15:01:59
统一引擎内部创建SpriteFrame的数据结构 将Plist的解析工作转移到了cc._plistLoader中去,对SAXParser进行了改造。 统一了引擎创建SpriteFrame的数据结构: { _inited : true, frames : { "a_frame_0.png" : { rect : {x : 0, y : 0, width : 1, height : 1}, rotated : false, offset : { x : 0, y : 0}, size : { width : 1, height : 1} aliases : ["a_f_0"] } }, meta : { image : "a.png" } } 引擎在创建SpriteFrame的时候,读取了plist配置文件的信息后,会将其转换为以上的数据格式。 自定义SpriteFrame的配置文件 采用 cc.loader 的插件机制,我们可以很轻松的自定义自己的配置文件格式。SpriteFrame的各种格式的配置文件,只要转换成对应格式就行了。 例如,我们自定义了一个文件,用于存储原本配置在多个plist( res/ui/tcc_issue_1.plist, res/ui/tcc_issue_2.plist )的SpriteFrame的打包信息, 名为 res/ui/imgs.pkgJson

[Android] Android Canvas绘图详解(图文)

时光总嘲笑我的痴心妄想 提交于 2019-12-05 14:49:38
摘要 Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0。今天我们主要要了解的是2D相关的,如果你想看3D的话那么可以跳过这篇文章。 大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图 Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0。今天我们主要要了解的是2D相关的,如果你想看3D的话那么可以跳过这篇文章。 大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图形处理相关的: Canvas、ColorFilter、Point(点)和RetcF(矩形)等,还有一些动画相关的:AnimationDrawable、 BitmapDrawable和TransitionDrawable等。以图形处理来说,我们最常用到的就是在一个View上画一些图片、形状或者自定义的文本内容,这里我们都是使用Canvas来实现的。你可以获取View中的Canvas对象,绘制一些自定义形状,然后调用View. invalidate方法让View重新刷新,然后绘制一个新的形状,这样达到2D动画效果

vue之写发表评论思路

元气小坏坏 提交于 2019-12-05 12:10:21
后端接口 var express = require('express'); const sql = require('../sql') const Comment = require('../sql/collection/comments') const User = require('../sql/collection/users') const uuid = require('node-uuid'); const utils = require('./../utils'); var router = express.Router(); // 获取评论信息列表 router.get('/', function(req, res, next) { let { proid } = req.query; let arr = [] let comment = [] // 内部包含用户的信息,通过用户id 获取到所有的用户名,对应的相关评论,拼接数据 sql.find(Comment, { proid }, { _id: 0 }).then(data => { comment = data var promises = data.map((item, index) => { return sql.find(User, { userid: item.userid }, { _id: 0 }

react中登录注册 使用验证码验证

浪尽此生 提交于 2019-12-05 07:42:22
后端接口 var express = require('express'); var router = express.Router(); var User = require('./../sql/collection/users'); var sql = require('./../sql'); var utils = require('./../utils') var uuid = require('node-uuid'); var bcrypt = require('bcryptjs'); var jwt = require('jsonwebtoken'); var salt = bcrypt.genSaltSync(10); // 加密级别 var code = require('./../utils/code'); // 快速登陆 router.post('/quicklogin', (req, res, next) => { let { tel } = req.body; sql.find(User, { tel }, { _id: 0 }).then(data => { if (data.length === 0) { res.send({ code: '10086', msg: '该用户未注册' }) } else { let userid = data[0]

仿头条艾特@用户名实现思路

走远了吗. 提交于 2019-12-05 07:00:19
首先第1步: 要实现输入@后跳转到用户列表页,最开始想到的是用addTextChangedListener监听用户输入内容,之后反应过来,这个方法监听的是edittext的内容,而不是输入内容。 所以要用InputFilter来实现,InputFilter对“每一次输入”进行一次过滤,若重写filter()返回null,则输入的文本不会被替换掉,而若filter()返回一个String,则所输入的内容将会被替换掉; 1 private class MyInputFilter implements InputFilter { 2 @Override 3 public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { 4 LogUtil.e("AtEdittext输入了:",source.toString()); 5 if ((source.toString().equalsIgnoreCase("@") || source.toString().equalsIgnoreCase("@"))) { 6 LogUtil.e("AtEdittext", "输入了@"); 7 if (onJumpListener != null) { 8

MFC 静态文本框

£可爱£侵袭症+ 提交于 2019-12-05 03:13:44
窗体上操作控件内容,需要句柄,在控件处使用鼠标右键——添加变量。 DoDataExchange()函数会自动生成代码,把ID与变量绑定,让变量具有句柄功能。即DDX_Control(pDX, IDC_TEXT, objText); objText.SetWindowTextW(TEXT("呵呵"));//设置文本内容 CString str; objText.GetWindowTextW(str); objBtn.SetWindowTextW(str);//按钮上内容改变 //objBtn.EnabledWindow(FALSE);//按钮失效 //(1)修改风格,显示为bmp位图,居中 objPic.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE); //(2)获取bitmap句柄 #define HBMP(filePath, width, height) (HBITMAP)LoadImage(AfxGetInstanceHandle(), filePath, IMAGE_BITMAP, width, height, LR_LOADFROMFILE | LR_CREATEDIBSECTION) //(3)获取控件大小 CRect rect; objPic.GetWindowRect(rect); //(4)设置图片 objPic

SVG 新手入门

旧街凉风 提交于 2019-12-05 03:07:55
svg 入门新认知 一、第一步创建设置svg <svg width="100%" height="500"> </svg> 设置粗细 5px 的红色线条绘制,图标是无填充的 svg { stroke: #ff0000; stroke-width: 5; fill: none; } 二、<line> 创建一条直线。 使用<line> 元素创建图标 x1:起点的水平轴坐标 y1:起点的竖直轴坐标 x2:终点的水平轴坐标 y2:终点的竖直轴坐标 通过坐标(x1,y1)来确定线的起点开始,通过(x2,y2)来确定直线的终点 让我们来创建第一条线,长为50px;起点为x1 = 10,y1 =10,则x2 = 60 ,y2 = 10 就可以看到一根直线平行于x轴 <line x1="10" y1="10" x2="60" y2="10"></line> 查看浏览器你会看到一条50px的红色线条 当然可以创建多条不一样的线条 <line x1="10" y1="10" x2="60" y2="10"></line> <line x1="10" y1="20" x2="60" y2="20"></line> <line x1="10" y1="30" x2="60" y2="30"></line> 效果如下 三、<polyline> 创建折线 <polyline> 元素只有一个属性:points;

关于QT的QPainterPath::arcTo 详解

故事扮演 提交于 2019-12-05 02:48:38
https://www.cnblogs.com/yuzhould/p/9132493.html 这个函数文档的意思就是画弧,看了文档也不太明白,自己做了demo终于明白了意思 移动到圆心,画180度半圆 void TestArcTo::paintEvent(QPaintEvent *) { QPoint startPt(30, 30); QRect rect(startPt.x(), startPt.y(), 200, 200); QPainter p(this); p.setRenderHint(QPainter::Antialiasing); //抗锯齿 p.fillRect(rect, QColor(255, 255, 255)); int arcR = rect.width()/2; int rectSize = rect.width(); QPainterPath path; path.moveTo(startPt.x() + arcR, startPt.y() + arcR); //先移动到圆心 path.arcTo(rect, 00.0f, 180.0f); //以0度起点,逆时针画180度 p.fillPath(path, QBrush(QColor(122, 122, 122))); } 移动到圆心,以90度开始画180度半圆 path.moveTo

golang中结构体的初始化方法(new方法)

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-05 01:39:12
2019独角兽企业重金招聘Python工程师标准>>> 自定义一个结构体 type Rect struct { x, y float64 width, height float64 } 初始化方法: rect1 := new(Rect) rect2 := &Rect{} rect3 := &Rect{0, 0, 100, 200} rect4 := &Rect{width:100, height:200} 注意这几个变量全部为指向Rect结构的指针(指针变量),因为使用了new()函数和&操作符.而如果使用方法 a := Rect{} 则表示这个是一个Rect{}类型.两者是不一样的.参考代码: func main() { rect1 := &Rect{0, 0, 100, 200} rect1.x = 10 a := Rect{} a.x = 15 fmt.Printf("%v\n%T\n", a, a) fmt.Printf("%v\n%T\n", rect1, rect1) } 运行结果为: {15 0 0 0} main.Rect &{10 0 100 200} *main.Rect 从结果中可以清楚的看到两者的不同. 在Go语言中,未进行初始化的变量都会被初始化为该类型的零值,例如bool类型的零值为false, int类型的零值为0, string类型的零值为空字符串.

DevExpress中TreeList树样式调整

北城以北 提交于 2019-12-04 23:07:15
DevExpress的TreeList默认是没有树状线的,修改TreeLineStyle属性无效,这对于Tree并不好看。 解决方案一 官方解释说对于DevExpress的标准主题是不支持TreeList有TreeLine的(不是技术问题,是设计理念不同),如DevExpress Style, DevExpress Dark Style、Office 2013、Office 2010, Visual Studio 2013, VS2010, Seven Classic等,默认如下: 而主题皮肤和其他皮肤是支持的。所以 使用非标准皮肤就可以实现TreeLine的支持 。 关于三类皮肤的划分如下: 解决方案二 很多时候,我们都会使用标准皮肤,只有使用代码强制这个属性,修改代码如下: Skin skin = GridSkins.GetSkin(treeList1.LookAndFeel); skin.Properties[GridSkins.OptShowTreeLine] = true; 效果如下: 虽然是实现了,但看起来还是怪怪的,领导还想要自行车。 最新款自动车 由于标准皮肤不支持+/-号(plus/minus),所以官方给出的解决方案:一是使用其他非标准皮肤,二是自定义绘制节点按键事件(CustomDrawNodeButton),代码如下: private void