对象跟随鼠标移动(用向量)

这里下载一个gameobject的库,封装了向量计算

#_*_coding:utf-8_*_

from gameobjects.vector2 import *

background_image_filename=‘./images/sea.jpg‘
sprite_image_filename=‘./images/fish.png‘

import pygame
from pygame.locals import *
from sys import exit

pygame.init()
screen=pygame.display.set_mode((640,480),0,32)
background=pygame.image.load(background_image_filename).convert()
sprit=pygame.image.load(sprite_image_filename)

clock=pygame.time.Clock()
position=Vector2(100.0,100.0)
heading=Vector2()
while True:
    for event in pygame.event.get():
        if event.type==QUIT:
            exit()
    screen.blit(background,(0,0))
    screen.blit(sprit,position)
    time_passed_seconds=clock.tick()/1000.0
    #参数前面加*:把列表或元祖展开
    destination=Vector2(*pygame.mouse.get_pos())-Vector2(*sprit.get_size())/2.
    vector_to_mouse=Vector2.from_points(position,destination)
    vector_to_mouse.normalize()

    heading=heading+(vector_to_mouse/6)
    position+=heading*time_passed_seconds
    pygame.display.update()
时间: 2024-10-21 03:11:12

对象跟随鼠标移动(用向量)的相关文章

unity2d 实现物体跟随鼠标绕一个点旋转效果

在2D游戏中,类似泡泡龙炮台发射.敌人飞机永远指向PLAYER.愤怒小鸟弹弓发射等效果,都需要用到物体跟随鼠标绕一个点旋转的效果,在unity中实现代码很简单,但是在理解上有一定障碍,因为unity是3D界面,他的旋转并不是2D世界中那么简单. 实现这种效果,可以使用两种方法,一种是采用角度计算,一种是采用向量运算: 1,角度运算容易理解,但是代码较为繁琐,可以参考 点击打开链接, 2,向量运算实现 1),向量运算简单复习 向量指具有大小和方向的几何对象,可以形象化地表示为带箭头的线段. 也就是

通用元素跟随鼠标移动效果

封装鼠标指针定位是一件很有意义的事情,这样在日常开发中就不需要再为鼠标指针定位问题而犯愁了. 设计思路:能够根据传递的具体对象,以及相对鼠标指针的偏移值,即命令该对象能够跟随鼠标移动. JS代码: function getMousePos(o,x,y,event){ //o-->对象;x,y-->相对鼠标指针的偏移距离;event-->事件对象; var posX = 0,posY = 0; //临时变量 var event = event || window.event; //标准化事

JS实现导航条效果——current跟随鼠标hover移动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

虚拟摇杆跟随鼠标

EasyTouch的joystick跟随鼠标 1 using UnityEngine; 2 using System.Collections; 3 4 public class JoystickPosControll : MonoBehaviour 5 { 6 7 public EasyJoystick m_EasyJoystick; 8 9 public Vector2 offset; 10 11 public Camera m_Camera; 12 13 public Vector2 bil

win10 指针焦点自动跟随鼠标

Linux或者ubuntu系统中有个Focus-follows-mouse功能:鼠标指哪,键盘的焦点就指向哪,甚至可以让鼠标所在的窗口实时处于最顶层,达到真正的焦点跟随鼠标.通俗的讲就是,如果在多窗口的状态下,如果我们要对其中一个窗口进行一些操作,必须点击一下那个窗口(目的是让该窗口获取焦点),而focus-follow-mouse 功能让你只需要将鼠标指针移动到该窗口上面就可以对该窗口进行操作,不需要再点击一下.看似一个很简单的功能,确极为方便(尤其是对题主这种不喜欢在触控板上做点击操作的人)

html5跟随鼠标炫酷网站引导页动画特效

html5跟随鼠标炫酷网站引导页动画特效一款非常不错的引导页,文字效果渐变,鼠标跟随出绚丽的条纹.html5炫酷网站引导页,鼠标跟随出特效. 体验效果:http://hovertree.com/texiao/html5/ 效果图: 以下是源代码: 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Co

阻止右键菜单(阻止默认事件)&amp;&amp;跟随鼠标移动(大图展示)&amp;&amp;自定义右键菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

鼠标悬浮弹出跟随鼠标移动的带箭头的信息层

鼠标悬浮弹出跟随鼠标移动的带箭头的信息层:很多网站,当鼠标悬浮在一个元素上的时候能够弹出一个信息说明层,并且此层能够跟随鼠标移动,同时弹出的层带有箭头,此箭头指向鼠标悬浮的元素,下面就通过实例代码简单介绍一下如何实现此效果.代码实例如下: <!DOCTYPE html> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

js-事件1_获取鼠标坐标clientX+scrollLeft及兼容性写法_跟随鼠标移动的divs

一.获取鼠标坐标 clientX:鼠标到可视区边缘的距离:    scrollLeft:滚动条到页面顶端的距离(不可视区的距离) 兼容性写法: var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;      var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; 跟随鼠标移动的divs,