吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 49576|回复: 381
收起左侧

[原创工具] 桌面小猫 (追着鼠标跑) 简单小东东

    [复制链接]
gunxsword 发表于 2018-4-3 13:21
本帖最后由 gunxsword 于 2018-4-3 13:54 编辑

很简单的一个小东西,这是孩子学校让家长去讲课,也没啥弄的,就弄了这么个东东
发出来大家一起当回小孩子吧,呵呵,没什么功能,就是追着鼠标跑动的一个小猫

下载链接:https://pan.baidu.com/s/15A9pZP0blq6Yl2MNyarbJQ

捕获.JPG

这个小猫会追着鼠标跑,而且不会挡住鼠标,不担误操做,小东西,大神不要喷哦!

其实如果有好的动图资源,丰富一下,还是可以做出很好玩的东东的,就像以前的QQ宠物,还有很早很早以前的阿猫阿狗游戏中带的桌面精灵一样
可以做一些互动,或者两个小精灵打架之类的,所以如果有很好的动图资源的朋友,可以私信我,我们一起搞个桌面精灵玩一玩!

对了,原图是百度的,也不知道是哪个大神绘制的,在此感谢原图作者!

点评

大爷的,点一次出一只猫,现在都一屏幕猫了,我先去趟联想售后,别说我没告你们。。。  发表于 2018-4-3 14:10

免费评分

参与人数 124吾爱币 +119 热心值 +113 收起 理由
azkor3 + 1 谢谢@Thanks!
jackliqiao + 1 + 1 我很赞同!好像qq宠物一样,真赞
Danica + 1 + 1 鼓励转贴优秀软件
Gxinzai + 1 + 1 热心回复!
pandaren + 1 + 1 要是能让他自己呆一边玩就好了,总跟着鼠标好烦
棉花糖好甜呀 + 1 + 1 热心回复!
侧写师 + 1 + 1 我很赞同!
校门口的萌新 + 1 + 1 ????????
yantou781122 + 1 + 1 热心回复!
woaixum1990 + 1 我很赞同!
Anglersxixi + 1 热心回复!
a263930 + 1 + 1 谢谢@Thanks!
csy9816 + 1 我很赞同!
wfygyeeqy + 1 谢谢@Thanks!
hiCasper + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Rosh + 1 + 1 谢谢@Thanks!
gl0807 + 1 + 1 让小孩更爱电脑的无限理由之一。。哈哈
liyuxuan2010 + 1 + 1 热心回复!
飘梦 + 1 + 1 谢谢@Thanks!
静琉丶修 + 1 + 1 谢谢@Thanks!
zhaoyue1991 + 1 + 1 谢谢@Thanks!
ctmaomao + 1 谢谢@Thanks!
teamong + 1 + 1 谢谢@Thanks!
槿小沫 + 1 哎呀,这个好好玩
axa001 + 1 + 1 我很赞同!
UniqueLegend + 1 + 1 谢谢@Thanks!
momonele + 1 + 1 谢谢@Thanks!
vincentcheung + 1 + 1 哈哈哈 有点意思
Karma。 + 1 + 1 谢谢@Thanks!
·夏、沫。 + 1 + 1 谢谢@Thanks!
a3395666 + 1 + 1 谢谢@Thanks!
13406434457 + 1 + 1 我很赞同!
XiaoNuo + 1 + 1 谢谢@Thanks!
prettysoul + 1 + 1 谢谢@Thanks!
Alan丶123 + 1 + 1 谢谢@Thanks!
mimiwuqi + 1 + 1 谢谢@Thanks!
hexiaomo + 1 + 1 我很赞同!
戈尔 + 1 我很赞同!
妖妖宝贝 + 1 + 1 谢谢@Thanks!
A丶egg + 1 + 1 热心回复!
混球 + 2 + 1 这个小程序很好玩,谢谢分享
iXi + 1 + 1 我很赞同!
Leisirs + 1 + 1 谢谢@Thanks!
gorithms + 1 + 1 热心回复!
dosTang + 1 谢谢@Thanks!
xjn900801 + 1 + 1 谢谢@Thanks!
neacou + 1 + 1 谢谢@Thanks!
Cloudreamaster + 1 + 1 谢谢@Thanks!
myhongtao99 + 1 + 1 热心回复!
barry1204 + 1 谢谢@Thanks!
qaz003 + 1 哈哈,不错呀。。谢谢分享
小米不是糠 + 1 + 1 热心回复!
弄潮儿 + 1 + 1 谢谢@Thanks!
Pisces_Saya + 1 谢谢@Thanks!
abc2313325 + 1 谢谢@Thanks!
jnzj4811 + 1 + 1 谢谢@Thanks!
牧鸢 + 1 热心回复!
yinsan2 + 1 + 1 谢谢@Thanks!
钟意张晓路 + 1 + 1 我很赞同!
沉浮696 + 1 + 1 不错的小东西
haha19962 + 1 热心回复!
mtxx1 + 1 + 1 谢谢@Thanks!
不靠谱的靠 + 1 + 1 好评!!!
soudK + 1 + 1 我很赞同!
不吃面条 + 1 + 1 我很赞同!
stevent + 1 + 1 我很赞同!
keiwen27 + 1 挺好玩的 谢谢分享
雪漫似穹天 + 1 + 1 我很赞同!
柚鱼 + 1 + 1 谢谢@Thanks!
燃烧时间 + 1 我很赞同!
白的胖子 + 1 + 1 谢谢@Thanks!
爱啃鱼骨头的猫 + 1 + 1 谢谢@Thanks!
你老表 + 1 + 1 用心讨论,共获提升!
adrianxxl + 1 + 1 谢谢@Thanks!
ii9094 + 1 能不能让他斜着走咯
no_name + 1 + 1 热心回复!
liguofeng5115 + 1 + 1 谢谢@Thanks!
丨敷丨衍丨 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
断羽征帆 + 1 + 1 热心回复!
泡泡糸 + 1 + 1 用心讨论,共获提升!
修车带哥 + 1 + 1 谢谢@Thanks!
我是006 + 1 谢谢@Thanks!
maple1008 + 1 + 1 谢谢@Thanks!
WinJa + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
立志成为大佬 + 1 + 1 谢谢@Thanks!
xuexinyuan + 1 + 1 谢谢@Thanks!
qq200800704 + 1 + 1 谢谢@Thanks!
弟中弟 + 1 + 1 热心回复!
只手过河 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
kylekai27 + 1 + 1 谢谢@Thanks!
superLight + 1 + 1 我很赞同!
kingtod + 1 + 1 小猫太大,能不能弄一半大小
代号D5z10 + 1 + 1 谢谢@Thanks!
jnez112358 + 1 谢谢@Thanks!
小土chen + 1 + 1 谢谢@Thanks!
huanity + 1 + 1 谢谢@Thanks!
knightlai + 1 + 1 热心回复!
开着跑车泡MM + 1 我很赞同!
時見月 + 1 + 1 谢谢@Thanks!
DK灬夜骑 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| gunxsword 发表于 2018-4-7 23:12
no_name 发表于 2018-4-7 21:39
有意思,楼主能讲一下实现思路吗,用什么语言啊

用C++写的,原理就是一张一张的图,动态的贴,形成动画,判断移动方向,切换不同的动画,原图在贴子上有出现过,贴图时需要计算图片的坐标,最后窗体透明,就可以了,跟着鼠标跑就简单了,得到鼠标的坐标,然后移动时改变窗口的坐标就可以了

图的大小:上下64X86左右106X82

部分代码:

//cat.c
#include <vcl.h>
#include "Cat.h"
#include "Unit1.h"
_CatControl::_CatControl()
{
        frame.UP =0;
        frame.DOWN =0;
        frame.LEFT=0;
        frame.RIGHT =0;
        frame.maxUPDOWN =6;
        frame.maxLEFTRIGHT =5;
        moveSpeed=25;
}
_CatControl::~_CatControl()
{

}
void _CatControl::Cat_Move(int direction)
{
        catfrm->imgcat->Canvas->FillRect(catfrm->imgcat->ClientRect);
        switch(direction)
        {
                //向上移动
                case 0:
                {
                        BitBlt(catfrm->imgcat->Canvas->Handle,0,0,64,86,catfrm->imgpic->Canvas->Handle,frame.UP*64,0,SRCCOPY);
                        frame.UP++;
                        if (frame.UP >=6)
                        {
                                frame.UP=0;
                        }
                        catfrm->Top-=moveSpeed;
                        break;
                }
                //向下移动
                case 1:
                {
                        BitBlt(catfrm->imgcat->Canvas->Handle,0,0,64,86,catfrm->imgpic->Canvas->Handle,frame.DOWN*64,86,SRCCOPY);
                        frame.DOWN++;
                        if (frame.DOWN >=6)
                        {
                                frame.DOWN=0;
                        }
                        catfrm->Top+=moveSpeed;
                        break;
                }
                //向左移动
                case 2:
                {
                        BitBlt(catfrm->imgcat->Canvas->Handle,0,0,106,82,catfrm->imgpic->Canvas->Handle,frame.LEFT*106,86*2,SRCCOPY);
                        frame.LEFT++;
                        if (frame.LEFT >=5)
                        {
                                frame.LEFT=0;
                        }
                        catfrm->Left-=moveSpeed;
                        break;
                }
                //向右移动
                case 3:
                {
                        BitBlt(catfrm->imgcat->Canvas->Handle,0,0,106,82,catfrm->imgpic->Canvas->Handle,frame.RIGHT*106,86*2+82,SRCCOPY);
                        frame.RIGHT++;
                        if (frame.RIGHT >=5)
                        {
                                frame.RIGHT=0;
                        }
                        catfrm->Left+=moveSpeed;
                        break;
                }
        }
       
}
//cat.h
#ifndef CATCONTROL_H_
#define CATCONTROL_H_
struct _Frame
{
        int UP; //动画到第几帧
        int DOWN;
        int LEFT;
        int RIGHT;
        int maxUPDOWN;//上下,最大帧数
        int maxLEFTRIGHT;
};
class _CatControl
{
        public:
        _CatControl();
        ~_CatControl();
        _Frame frame;
        void Cat_Move(int direction);//移动,只有一个参数,移动方向 0:上,1:下,2:左,3:右
        private:
        int moveSpeed;//移动速度
};

#endif //CATCONTROL_H_

贴图类都在这里了

免费评分

参与人数 1吾爱币 +3 收起 理由
瓜子吧3 + 3 要是鼠标悬停的时候他能围着鼠标跑就好了

查看全部评分

iCHJ95 发表于 2018-4-3 13:41
sanyezaofang 发表于 2018-4-3 13:28
疾风丶 发表于 2018-4-3 13:32 来自手机
6啊,这个好玩
头像被屏蔽
萌神淼菥 发表于 2018-4-3 13:32
提示: 作者被禁止或删除 内容自动屏蔽
莫愁前路无知己 发表于 2018-4-3 13:32
感谢楼主,试一试
wapj0123 发表于 2018-4-3 13:33
好玩,点个赞
搜喽小女 发表于 2018-4-3 13:35
鼠标一不动就好难受啊
轻若尘埃 发表于 2018-4-3 13:39
支持一个~~~支持一个~~~
huihui320 发表于 2018-4-3 13:43
感谢楼主。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 04:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表