js多次点击的响应
js中只内置了单击和双击的相应,而且这两者之间还有冲突,使用起来不太方便。
下列代码可以完成任意次点击的相应,且无冲突,原理是使用了一个定时器,在一定时间内完成多少次点击便执行多少次点击相应的任务。这个时间可以由自己选择。
12345678910111213141516171819202122232425262728293031<div><button id="button_id"/><script type="text/javascript"> $(document).ready(function(){ var timer = null; var cnt =0; $("#button_id").click(function(){ cnt++; console.log(cnt); ...
leetcode-动态规划
5. 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
暴力搜索,失败,耗费时间太长。
动态规划,通过。
使用动态规划时首先要找到题目的状态转移方程,以字符串的长度进行增长。
方程: P(i,j) = P(i+1,j-1) && s[i]==s[j] (s是字符串)
123456789101112131415161718192021222324252627282930313233343536373839404142class Solution {public: bool Is(string s,int st,int len) { for(int i=0;i<len/2;i++) { if(s[st+i]!=s[st+len-i-1]) return false; } return true; } string longestP ...
cocos2dx
记录cocos2dx的学习历程和遇到的坑。 版本4.0
坐标系问题
对于精灵,坐标系从左下开始向右上增长,x轴从左向右。例如 sprite->setPosition(Vec2(0, 0)); 设置精灵为左下角。
对于鼠标,坐标系从左上方开始向右下增长,x轴从左向右。例如 Point pt = e->getLocation(); pt={0,0}代表鼠标位于左上角。
鼠标控制事件
对于鼠标事件,cocos官方文档中对于4.0版本中还未更新。我们可以同过如下方式实现鼠标对于精灵的控制。
static bool mouse_down = false;
auto myMouseListener = EventListenerMouse::create();
myMouseListener->onMouseDown = [=](Event* event)
{
EventMouse* e = (EventMouse*)event;
Point pt = e->getLocation();
pt.y = visibleSize.he ...
3D-Render
选择Sokolov的Tiny Renderer教程开始入门。
Sokolov从一个最简单的画点函数开始,一个小节一个小节地讲解怎么画出一条线,怎么填充一个面,怎么逐步加入背面剔除、深度测试、透视相机、着色器等高级功能。每个小节的课程都有详细的讲解以及完整的实现代码可供参考。这个教程一共有9个小节,只要学到第6个小节我们就已经可以实现一个具有可编程渲染管线的软件渲染器了,而这时候的总代码量只有500行而已,可以说是非常简洁适合入门了。
本文只记录在学习过程中遇到的一些问题,和自己的一些想法
Lesson 1 Bresenham’s Line Drawing Algorithm
Second attempt中
void line(int x0, int y0, int x1, int y1, TGAImage &image, TGAColor color) {
for (int x=x0; x<=x1; x++) {
float t = (x-x0)/(float)(x1-x0);
int y = y0*( ...
Win32显示图像
在windows下将数据以位图的方式显示:
//变量定义
HWND hWnd; //窗口句柄定义
HDC hdc_mem; //缓冲句柄
HBITMAP screen_hb ; // DIB
HBITMAP screen_ob ; // 老的 BITMAP
void* buffer; //数据存储区
BITMAPINFO bi = { { sizeof(BITMAPINFOHEADER), 100, 100, 1, 24, BI_RGB,
100 * 100 * 3, 0, 0, 0, 0 } };
//初始化配置
HDC hdc = GetDC(hWnd);
hdc_mem = CreateCompatibleDC(hdc);
screen_hb = CreateDIBSection(hdc_mem, &bi, DIB_RGB_COLORS, (void**)&buffer, NULL, 0);
if (screen_hb == NU ...
OneDrive云盘搭建
拥有一个OneDrive账号
打开微软的注册/登录页面,选择合适的按照流程注册。
个人免费账户是5G,学生版是1T或5T。
下载OneManager
前往 OneManager项目地址下载并完成解压,为之后准备。
部署
选择腾讯云函数,有免费额度,一般来说够用了。
新建函数,输入名称,运行环境选择php7.2,创建方式选择空白函数
通过本地上传文件夹方式,上传之前解压后的OneManager文件夹
创建触发器,选择API网关触发器
(可选)点击触发器的API服务名 SCF_API_SERVICE,可以自定义域名。
安装
点击触发器下方访问路径,后安装项目,选择新建 SecretId & SecretKey,返回腾讯云新建密钥,完成后将 SecretId & SecretKey填入其中。
设置完密码后登录,通过管理-设置,点击 添加Onedrive盘,然后再填写相关内容就ok了。
个人账号选择 MS: 国际版(商业版与个人版)
学生账号只能选择 ShareUrl: 共享链接, 对一个Onedrive文件夹共享进 ...
记录
楼下一个男人病得要死,那间壁的一家唱着留声机;对面是弄孩子。楼上有两人狂笑;还有打牌声。河中的船上有女人哭着她死去的母亲。 人类的悲欢并不相通,我只觉得他们吵闹。 —鲁迅《而已集》《小杂感》
We used to look up at the sky and wonder at our place in the stars, now we just look down and worry about our place in the dirt. —《Interstellar》
我们曾经仰望星空,思考我们在宇宙中的位置,而现在我们只会低着头,担心如何在这片土地上活下去。—《星际穿越》
弱小和无知不是生存的障碍,傲慢才是。 —《三体》
愿我如星君如月,夜夜流光相皎洁。
小四轴飞行器
待更新
目前只完成的硬件的采购和驱动测试电路的焊接。
android
折腾了一天终于把安卓开发环境弄好了,从开始想使用 VS20199 + C#/C++开发,弄了一上午,还是出现了莫名其妙的问题,再加上这个环境下开发的人又很少,也不知道如何解决,最终还是放弃了。后面采用 Android Studio 后就很顺利的,随便找个流程,照着操作一般就没什么问题,后面打开项目后可能会出现一个有关网络的问题。
具体是Unknown host ‘d29vzk4ow07wi7.cloudfront.net’. You may need to adjust the proxy settings in Gradle.
把 build.gradle 中的两个 jcenter() 用 maven{ url “http://maven.aliyun.com/nexus/content/groups/public/”} 代替,然后等待下载安装完成就好了。
开这个项目,目前是想做一个古文阅读的app,等我把安卓开发的基础知识过一遍就来更新。
更新
虽然安卓的基础知识还没怎么弄明白,还是靠这自己的底子,硬着头皮给写出来了。对我来说,最难的部分应该就是对Android项目结构还不熟,所 ...
leetcode-每日一题
每日一题
336.回文对
题目比较简单,上来可以先判断两个拼接好的字符串是否符合,然后遍历判断。
1234567891011121314151617181920212223242526272829303132333435class Solution {public: vector<vector<int>> palindromePairs(vector<string>& words) { int len=words.size(); vector<vector<int>> all; for(int i=0;i<len;i++) { for(int j=0;j<len;j++) { if(i!=j&&Judge(words[i],words[j])) ...