精华内容
下载资源
问答
  • Python脚本项目源码-桌面宠物
  • 面宠-可爱的开源桌面宠物 项目结构 本目录下有两个文件夹,分别是MianPetClient和MianPetServer,前者是面宠客户端的项目文件,是面宠服务器的项目文件,可以分别编译,详情见其中的README.md。
  • 轻音少女的DTA ...包括桌面宠物、桌面时钟、桌面图标、鼠标指针、音效等 桌面宠物、桌面时钟的右键功能已汉化 桌面图标、鼠标指针不用汉化 音效未原本日语音效 资源来源于网络,免费共享,侵删
  • 桌面宠物,c# WinForm编写的一个桌面宠物小游戏。
  • pyqt5的桌面宠物demo

    2020-09-04 10:20:52
    需要的可以借鉴一哈,不需要的就算了。。。。 资源文件可以自己放,same.gif 我用的是企业微信的那个same表情,就是那个萨么耶狗头
  • 在电脑上忙了一天,是不是感觉到头昏眼花呢。 电脑可以无知觉的持久奋战,人却不行,因为人不是机器,我们都需要放松,都...),是一个有着24种不同风格的桌面宠物软件。 可以把它们放在桌面上,工作累了就逗逗它们。
  • 一款生动的桌面宠物猫, 源代码请查看: https://github.com/ZhangZihe/PetCat.git
  • 一个类似桌面宠物的VB程序,像QQ宠物一样,支持鼠标右键,宠物会跑、走路,带有动画效果,有感兴趣的,自己下载源码研究吧。
  • 易语言桌面宠物0.1源码,桌面宠物0.1,写配置文件,读配置文件,图片选择,选择种类,确定种类,宠物孵化,初始化,显示信息,随机获得宝石,标签显示,体力检测,随机怪物,显示PK信息,我方信息,怪物信息,怪物回合,显示购物信息,...
  • 桌面宠物Day1素材

    2017-12-03 22:32:22
    桌面宠物Day1素材:http://blog.csdn.net/shenpibaipao/article/details/78704714
  • 易语言桌面宠物游戏源码,桌面宠物游戏,写配置文件,读配置文件,图片选择,选择种类,确定种类,宠物孵化,初始化,显示信息,随机获得宝石,标签显示,体力检测,随机怪物,显示PK信息,我方信息,怪物信息,怪物回合,显示购物信息...
  • 在你不去点它的情况下当你关闭窗口时,它会追你的鼠标,如果追上了就会咬着你的鼠标一路狂奔,然后才松开。 值得提醒的是鼠标被咬着的时候是无法动的 如果你没事去点它也会是这样的情况 且养且珍惜……,每过一段...
  • 内容索引:C#源码,游戏开发,桌面宠物,C#游戏源码,半透明窗体  灵感来自于一个C#编写的半透明窗体,又经过加工得来这款桌面宠物程序:一条漂亮可爱的红金鱼,简直和真的差不多,可以在你面前游来游去。
  • C# winform 桌面宠物 17种动物实例(好玩).zip
  • 基于JAVA的桌面宠物

    2017-03-12 21:11:09
    一款基于JAVA的桌面宠物,里面图片资源什么的已经有了,导入Eclipse中就可以用。中间可能还有点bug,希望下载的客官可以提出,以待改进。(有了发送邮件的功能,但好像忘记添加进去了)
  • 自己做的桌面宠物,两只小狗,您可以与宠物互动。解压即可玩。
  • 桌面宠物.zip——

    2020-03-15 20:56:13
    一个桌面宠物,网上看到的,以前好像用过,但是不想折腾了,桌面就这样吧,随便看看——————————————
  • 用java写的桌面宠物,找了很多资料都没能实现,有一天突然想到了方法
  • 本程序为python以及pyqt5制作的桌面宠物。 在其上方点击右键,会出现功能选项卡。 桌面宠物的形象为“长草颜团子暑期篇”表情包。
  • 易语言桌面宠物猫游戏源码
  • 超级有趣的桌面宠物 C#源码 我已经运用到自己的项目中 现在分享给大家
  • 易语言桌面宠物0.1源码
  • C++ 桌面宠物-金鱼

    2014-01-08 13:55:50
    MFC环境下的桌面宠物,金鱼。。。。。。。。。。。。。。。。。 使用方法: //0,添加left.png,right.png资源文件 //1, 头文件定义变量 GoldFish pet; //2, 在CPP文件创建 // Create a goldfish if (!pet....
  • 3D桌面宠物金鱼是一个3D的桌面宠物工具,运行程序就会有一条小金鱼游动在桌面上,鼠标点击金鱼, 金鱼就会加快游动速度,游动流畅,真实,让你的桌面更加丰富多彩。鼠标右键点击,退出程序。喜欢的朋友们赶紧下载试...
  • 基于Python+PyQt5实现的桌面宠物,从电脑托盘退出;源码参考自:https://mp.weixin.qq.com/s/4kOzdRXmrxzR88QcYYSFvQ
  • 桌面宠物开发源码

    2011-10-19 12:56:56
    开发类拥有详细的注释,能为开发桌面宠物的开发者提供良好的思路;程序打包成了.exe,能直接的查看效果,不规则的宠物开发者也可在此思路上开发,总之本程序是一个最基本得宠物,容易看懂...记得必需采用jdk是新版才...
  • 使用alpha-PNG和GDI +技术实现台式宠物鱼!
  • C# winform 桌面宠物 17种动物.zip
  • c# 桌面宠物

    2015-07-27 08:04:32
    c# 桌面宠物,类似QQ宠物,源代码 有喂食其他特效,桌面宠物源代码
  • JAVA桌面宠物

    千次阅读 多人点赞 2021-01-19 18:02:57
    忄辰桌面宠物【静态】 最近寒假刚刚开始,然后时间很多,就想做一款桌面宠物,但是本人能力有限,只能做个静态的,其实我觉得静态也挺好看的是吧QAQ,想做动态的话可以参考链接2,用线程就可以实现了 感谢大佬的这两...

    忄辰桌面宠物【静态】+【动态】

    最近寒假刚刚开始,然后时间很多,就想做一款桌面宠物,但是本人能力有限,只能做个大概的,其实我觉得做得也挺好看的是吧QAQ,想要详细做动态的话可以参考链接2,我做的比较简单
    感谢大佬的这两片文章: 连接1.连接2
    第一步:制作背景透明化
    第二步:功能及代码【附图片】
    第三步:动态代码片【附效果图】

    第一步

    我们需要有一个背景透明化的图片,我是用PS的,也是第一次用,如果大佬有更好的办法可以帮助一下我。。。
    首先我们需要准备一张图片
    比如进击的巨人 (三笠)百度找的图
    图片是网上找的
    然后打开我们的PS应用,打开这张图片
    在这里插入图片描述
    选择这个魔法棒,点击空白处键盘上的delete
    效果如下
    在这里插入图片描述
    然后我们就可以得到一张背景透明化的图片了啊哈哈
    可以调整一下大小,按照你们想要的来调整就OK

    第二步

    我们现在就开始写代码,写的比较乱,见谅,这里有的是直接搬运链接的代码,如果想要学习可以去原链接看
    主函数

    //创建一个JFrame
    		JFrame frame=new JFrame("桌面宠物");
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		//框体透明
    		frame.setUndecorated(true);//取消标题栏
            frame.setBackground(new Color(0,0,0,0));//背景透明
            //增加托盘图标
            setTray(frame);
            //设置位置并显示在最前端
            frame.setAlwaysOnTop(true);
            //设置取消窗体任务栏图标
            frame.setType(JFrame.Type.UTILITY);
    		frame.setVisible(true);
    		frame.setSize(200,200);
    		frame.setLocation(1670,20);
    		//运行时间
    		jishiqi();
    		//全局位置变量,用于鼠标在窗口上的位置
    		Point origin = new Point();
    		
    		//添加图标信息
    		JLabel label=new JLabel();
    		ImageIcon icon=new ImageIcon("tupian\\三笠.png");//图片的路径
    		int chongwuwidth=icon.getIconWidth();
    		int chongwuheight=icon.getIconHeight();
    		icon.setImage(icon.getImage().getScaledInstance(chongwuwidth, chongwuheight, Image.SCALE_AREA_AVERAGING));
    		label.setBounds(frame.getX(), frame.getY(), chongwuwidth, chongwuheight);
    		label.setIcon(icon);
    		frame.add(label);
    		
    		//添加窗体监听器
    		frame.addMouseListener(new MouseAdapter() {
    			// 按下(mousePressed 不是点击,而是鼠标被按下没有抬起)
    			public void mousePressed(MouseEvent e)
    			{
    				origin.x=e.getX();
    				origin.y=e.getY();
    			}
    			public void mouseClicked(MouseEvent e)
    			{
    				if(e.getButton()==MouseEvent.BUTTON3)
    					setable(frame,e.getComponent(),e.getX(),e.getY(),label);
    			}
    		});
    		frame.addMouseMotionListener(new MouseMotionListener() {
    			
    			@Override
    			public void mouseMoved(MouseEvent e) {
    				// TODO 自动生成的方法存根				
    			}
    			
    			@Override
    			public void mouseDragged(MouseEvent e) {
    				Point p=frame.getLocation();
    				// 窗口当前的位置 + 鼠标当前在窗口的位置 - 鼠标按下的时候在窗口的位置
    				frame.setLocation(p.x+e.getX()-origin.x,p.y+e.getY()-origin.y);
    			}
    		});
    		frame.validate();
    	}
    

    托盘,可以将你的桌宠图标放在托盘图标里面
    在这里插入图片描述
    代码如下

    private static void setTray(JFrame frame)
    {
    	if(SystemTray.isSupported())//判断系统是否支持系统托盘
    	{
    		SystemTray tray=SystemTray.getSystemTray();//获取当前系统的托盘
    		
    		//为托盘添加一个右键弹出式菜单
    		PopupMenu menu=new PopupMenu();
    		
    		MenuItem openItem=new MenuItem("打开");
    		openItem.addActionListener(e->frame.setVisible(true));
    		
    		MenuItem closeItem=new MenuItem("最小化");
    		closeItem.addActionListener(e->frame.setVisible(false));
    		
    		MenuItem exItem=new MenuItem("退出");
    		exItem.addActionListener(e->System.exit(0));
    		
    		menu.add(openItem);
    		menu.addSeparator();
    		menu.add(closeItem);
    		menu.addSeparator();
    		menu.add(exItem);
    		
    		ImageIcon icon=new ImageIcon("tupian\\可爱.png");
    		Image image=icon.getImage().getScaledInstance(icon.getIconWidth(), icon.getIconHeight(),Image.SCALE_DEFAULT);
    		
    		TrayIcon trayIcon=new TrayIcon(image,"桌面宠物", menu);
    		trayIcon.setImageAutoSize(true);//自适应尺寸*很重要
    		
    		try {
    			tray.add(trayIcon);
    		} catch (AWTException e1) {
    			// TODO 自动生成的 catch 块
    			e1.printStackTrace();
    		}
    	}
    }
    

    计时器,可以统计你的桌宠累计在线时长
    在这里插入图片描述
    代码如下

    public static void jishiqi()
    {
    	
    	int time=60000;
    	ActionListener jishi=new ActionListener() {
    		
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			try {
    				RandomAccessFile raf=new RandomAccessFile("time.txt","rw");
    				int times=Integer.parseInt(raf.readLine())+1;
    				raf.seek(0);
    				raf.write((times+"").getBytes());
    				raf.close();
    			} catch (NumberFormatException | IOException e1) {
    				// TODO 自动生成的 catch 块
    				e1.printStackTrace();
    			}
    			
    		}
    	};
    	new javax.swing.Timer(time,jishi).start();
    }
    

    弹出式菜单,当你鼠标右键点击宠物时,会有关于宠物属性,宠物设置,宠物选择等
    在这里插入图片描述
    代码如下

    public static void setable(JFrame frame,Component b,int x,int y,JLabel label)
    {
    	JPopupMenu menu=new JPopupMenu();
    	
    	JMenuItem shuxingItem=new JMenuItem("宠物设置");
    	shuxingItem.addActionListener(e->set());
    	JMenuItem selectItem=new JMenuItem("宠物属性");
    	selectItem.addActionListener(e->{
    		try {
    			able();
    		} catch (IOException e1) {
    			// TODO 自动生成的 catch 块
    			e1.printStackTrace();
    		}
    	});
    	JMenuItem setItem=new JMenuItem("宠物选择");
    	setItem.addActionListener(e->select(frame,label));
    	JMenuItem qqItem=new JMenuItem("联系作者");
    	qqItem.addActionListener(e->JOptionPane.showMessageDialog(null,"相逢何必曾相识","联系作者",1));
    	
    	menu.add(shuxingItem);
    	menu.addSeparator();
    	menu.add(selectItem);
    	menu.addSeparator();
    	menu.add(setItem);
    	menu.addSeparator();
    	menu.add(qqItem);
    	menu.show(b, x, y);
    }
    

    宠物属性面板
    在这里插入图片描述
    代码如下

    public static JFrame able() throws IOException 
    {
    	//宠物属性变量
    	RandomAccessFile raf=new RandomAccessFile("time.txt","rw");
    	int time=Integer.parseInt(raf.readLine());
    	raf.close();
    	int level;
    	if(time<60)
    		level=1;
    	else if(time>=60&&time<=200)
    		level=2;
    	else if(time>200&&time<=500)
    		level=3;
    	else if(time>500&&time<=100)
    		level=4;
    	else
    		level=5;
    	BufferedReader bufferedReader=new BufferedReader(new FileReader("name.txt"));
    	String chongwunameString="";
    	String zhurennameString="";
    	String string="";
    	while((string=bufferedReader.readLine())!=null)
    	{
    			chongwunameString=string;
    			zhurennameString=bufferedReader.readLine();			
    	}
    	bufferedReader.close();
    	//宠物属性面板
    	JFrame frame=new JFrame("宠物属性");
    	frame.setSize(400,300);
    	frame.setLocationRelativeTo(null);
    	frame.setLayout(null);
    	frame.setResizable(false);
    	frame.setVisible(true);
    	
    	JPanel panel=new JPanel();
    	panel.setLayout(new FlowLayout(FlowLayout.LEFT,30,20));
    	JLabel label=new JLabel("宠物名字:  "+chongwunameString);
    	JLabel label2=new JLabel("主人名字:  "+zhurennameString);
    	JLabel label3=new JLabel("等级:  lv "+level+"         ");
    	JLabel label4=new JLabel("累计在线时长:  "+time+"分钟");
    	
    	panel.add(label3);
    	panel.add(label);
    	panel.add(label2);
    	panel.add(label4);
    	panel.setBounds(0, 0,200, 300);
    	frame.add(panel);
    	frame.validate();
    	return frame;	
    }
    

    宠物设置面板
    在这里插入图片描述
    代码如下

    public static JFrame set()
    {
    	//宠物设置面板
    	JFrame frame=new JFrame("宠物设置");
    	frame.setSize(250,250);
    	frame.setLocationRelativeTo(null);
    	frame.setLayout(null);
    	frame.setResizable(false);
    	frame.setVisible(true);
    	
    	JPanel panel=new JPanel();
    	panel.setLayout(new FlowLayout(FlowLayout.LEFT,5,10));
    	panel.setBounds(0, 0, 250,150);
    	JLabel label=new JLabel("宠物名字:");
    	JLabel label2=new JLabel("主人名字:");
    	JTextField jTextField=new JTextField(20);
    	JTextField jTextField2=new JTextField(20);
    	panel.add(label);
        panel.add(jTextField);
    	panel.add(label2);
    	panel.add(jTextField2);
    	frame.add(panel);
    	
    	JButton button=new JButton("确认设置");
    	button.setBounds(75, 165, 100,30);
    	frame.add(button);
    	
    	button.addActionListener(new ActionListener() {
    		
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			try {
    				FileWriter fileWriter=new FileWriter("name.txt");
    				fileWriter.write(jTextField.getText()+"\n");
    				fileWriter.write(jTextField2.getText());
    				fileWriter.close();
    				JOptionPane.showMessageDialog(null,"设置完成","设置",1);
    				frame.setVisible(false);
    			} catch (IOException e1) {
    				// TODO 自动生成的 catch 块
    				e1.printStackTrace();
    			}
    			
    		}
    	});
    	return frame;	
    }
    

    宠物选择面板
    在这里插入图片描述
    代码如下

    public static void select(JFrame frame,JLabel label)
    {
    	    //宠物选择面板
    		JFrame frame2=new JFrame("宠物选择");
    		frame2.setSize(450,300);
    		frame2.setLocationRelativeTo(null);
    		frame2.setLayout(null);
    		frame2.setResizable(false);
    		frame2.setVisible(true);
    		
    		JPanel panel=new JPanel();
    		panel.setLayout(new FlowLayout(FlowLayout.LEFT));
    		JLabel label2=new JLabel("                 古风汉服");
    		ImageIcon icon=new ImageIcon("tupian\\古风汉服.png");
    		JLabel label3=new JLabel();
    		icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),icon.getIconHeight(),Image.SCALE_DEFAULT));
    		label3.setIcon(icon);
    		panel.add(label2);
    		panel.add(label3);
    		panel.setBounds(0, 0, 200,190);
    		frame2.add(panel);
    		
    		JPanel panel2=new JPanel();
    		panel.setLayout(new FlowLayout(FlowLayout.LEFT));
    		JLabel nameLabel=new JLabel("          薇尔莉特");
    		ImageIcon icon2=new ImageIcon("tupian\\人类精灵.png");
    		JLabel iconLabel=new JLabel();
    		icon.setImage(icon.getImage().getScaledInstance(icon2.getIconWidth(), icon2.getIconHeight(), Image.SCALE_DEFAULT));
    		iconLabel.setIcon(icon2);
    		panel2.add(nameLabel);
    		panel2.add(iconLabel);
    		panel2.setBounds(225, 0, 200, 190);
    		frame2.add(panel2);
    		
    		ButtonGroup buttonGroup=new ButtonGroup();
    		JRadioButton gufengbut=new JRadioButton();
    		JRadioButton jinglingbut=new JRadioButton();
    		gufengbut.setBounds(85, 200, 40, 40);
    		jinglingbut.setBounds(325, 200, 40, 40);
    		buttonGroup.add(jinglingbut);
    		buttonGroup.add(gufengbut);
    		frame2.add(gufengbut);
    		frame2.add(jinglingbut);
    		
    		Button button=new Button("选择");
    		button.setBounds(160, 230, 100, 40);
    		frame2.add(button);
    		
    		button.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				if(gufengbut.isSelected())
    				{
    					selectchongwu(frame, label, "tupian\\微笑.png");
    					frame2.setVisible(false);
    				}
    				if(jinglingbut.isSelected())
    				{
    					selectchongwu(frame, label, "tupian\\薇尔莉特.png");	
    					frame2.setVisible(false);
    				}
    			}
    		});
    		frame2.validate();
    }
    

    这个是宠物的替换函数

    public static void selectchongwu(JFrame frame,JLabel label,String nameString)
    {
    	ImageIcon icon=new ImageIcon(nameString);
    	int chongwuwidth=icon.getIconWidth();
    	int chongwuheight=icon.getIconHeight();
    	icon.setImage(icon.getImage().getScaledInstance(chongwuwidth, chongwuheight, Image.SCALE_AREA_AVERAGING));
    	label.setIcon(icon);
    }
    

    第三步

    如何做动态的,这又是一个问题,首先我们需要Pr软件,然后用你想要的GIF图放进去,第一次用Pr没人教真的,希望大佬有更高的办法
    如下图所示
    在这里插入图片描述
    然后我们选择那个导出帧和下一帧,将GIF变成图片知道全部把帧变成图片
    在这里插入图片描述
    然后将得到的图片背景透明化,参考第一步。重命名为如b1,b2之类的,好进行链接,之后开始写代码(采用的是链接2中的代码)

    new Thread(() -> {
    			int i=1;
    			try{
    				while (true){
    					Thread.sleep(200);
    						selectchongwu(frame, label,"tupian\\b"+ i++ +".png");//这个是你图片的路径
    					if(i>29)
    					{
    						Thread.sleep(500);
    						i=1;
    					}
    				}
    			} catch (Exception e){
    				e.printStackTrace();
    			}
    		}).start();
    

    然后我们就会得到一只会动的桌宠,如果你想按左键才能动可以添加监听器等
    效果如下
    在这里插入图片描述

    这些大家都可以改,我学的不是很好,希望可以被大佬指教出来问题
    完。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,223
精华内容 1,289
关键字:

桌面宠物