Python游戏引擎开发(五):Sprite精灵类和鼠标事件
本次来实现Sprite
类和鼠标事件。
说起这个Sprite
啊,涉及过2D游戏研究领域的看官应该都听说过它。它中文原意是“精灵”,不过在不同人的眼中,它所表示的意义不同。比如说在cocos2d中,它可以是一张图片。不过在flash中,Sprite
是一个类似于“层”的家伙。当然你把它定义为层并不是很准确,实际上它是一个含显示列表的显示对象。什么意思呢?各位看官如果阅读了前面的章节,那对显示列表并不陌生。它说白了就是一个包含其他显示对象的容器。
那也许你会想,为什么要有这个类呢?举个例子大家就明白了。在一款RPG游戏中(如:口袋妖怪),我们的地图上有树林、小河等一系列地图元件。玩过此类游戏的同学都知道,如果我们的人物走到了地图中央继续前进的话,地图会进行卷轴移动,显示出下部分地图。这个时候我们如果要把每个地图元件进行移动,操作起来会相当麻烦。因此flash为我们提供的Sprite
就是为了统一处理一系列显示对象而生的。
经过上面的介绍,大家可能仍然无法理解这么抽象的一个类。那姑且把它视作一个层吧,我们可以通过Sprite
的addChild
来向这个层添加显示对象。添加进去的对象所进行的操作都是相对的,比如说移动,旋转。
以下是前面章节目录:
Python游戏引擎开发(一):序
Python游戏引擎开发(二):创建窗口以及重绘界面
Python游戏引擎开发(三):显示图片
Python游戏引擎开发(四):TextField文本类
Sprite的实现
以下是实现代码:
class Sprite(DisplayObject):def __init__(self):super(Sprite, self).__init__()self.childList = []self.mouseList = []def addChild(self, child):self.childList.append(child)def removeChild(self, child):self.childList.remove(child)child.parent = Nonedef _loopDraw(self, c):stage._showDisplayList(self.childList)
可以看到,这个类的实现代码很简单,就是添加了显示列表属性(childList)、鼠标事件列表(mouseList)和添加/删除对象的方法。实际上在flash中,这个类还有很多功能,比如说以后会提及的矢量绘图。看过第二章的同学应该会注意到stage._showDisplayList
这个方法,他负责遍历显示列表并显示遍历得到的对象(及子对象)。由于这个方法是在QPainter
变换(平移,旋转,拉伸)之后,QPainter.restore()
之前被调用的,所以再次调用到这个子对象显示方法时,显示方法中对QPainter
的变换就是相对于先前QPainter
变换而言的。因此,我们就实现了子对象相对父对象变换的效果。
鼠标事件
我们要来实现鼠标事件方面的功能了。首先需要了解的是,由于我们无法直接对我们写的显示对象添加事件,所以只能先对QWidget
添加鼠标事件然后在进一步进行计算来判断是否触发到我们的事件。
鼠标事件大致传递过程如下:
为了给QWidget
添加鼠标事件,我们需要改动CanvasWidget
类:
class CanvasWidget(QtGui.QWidget):def __init__(self):super(CanvasWidget, self).__init__()self.setMouseTracking(True)def paintEvent(self, event):stage._onShow()def mousePressEvent(self, event):self.__enterMouseEvent(event, "mouse_down")def mouseMoveEvent(self, event):self.__enterMouseEvent(event, "mouse_move")def mouseReleaseEvent(self, event):self.__enterMouseEvent(event, "mouse_up")def __enterMouseEvent(self, event, eventType):e = {"offsetX" : event.x(), "offsetY" : event.y(), "eventType" : eventType, "target" : None}stage._enterMouseEvent(e, {"x" : 0, "y" : 0, "scaleX" : 1, "scaleY" : 1})
主要是重写了QWidget
中的几个事件回调(mouseReleaseEvent
,mouseMoveEvent
,mousePressEvent
)以及添加事件进入显示对象的入口__enterMouseEvent
,该函数的参数一个是Qt发来的事件对象,保存了一些事件信息,如鼠标位置,另一个是鼠标事件类型,比如”mouse_up”,”mouse_down”。
值得注意的是,setMouseTracking
方法是用于不停地触发移动事件,否则Qt默认只处理一次。
我们在使用鼠标事件时,多数情况下要获取鼠标的位置,所以我们将鼠标信息也记录下来,记入变量e
,这个变量将随着事件的传递,一直传下去。顺便对其中的属性进行说明:
- offsetX,offsetY:鼠标相对于屏幕左上角的位置
- eventType:鼠标事件类型
- target:鼠标所点击的显示对象,初始值为
None
,当事件传递到需要获取此属性的时候,就会被赋值为被点击的对象
最后进入Stage._enterMouseEvent
函数,将事件传递到舞台对象上。
Stage._enterMouseEvent
的代码如下:
def _enterMouseEvent(self, event, cd):childList = self.childList[:: -1]currentCd = {"x" : cd["x"], "y" : cd["y"], "scaleX" : cd["scaleX"], "scaleY" : cd["scaleY"]}for o in childList:if hasattr(o, "_enterMouseEvent") and hasattr(o._enterMouseEvent, "__call__") and o._enterMouseEvent(event, currentCd):break
在这个方法中,首先接受两个参数,一个就是鼠标信息,另一个是坐标对象(包含x,y坐标,scaleX,scaleY拉升值)。为什么要弄个坐标对象呢?因为我们在判断显示对象是否被点击时,需要用到坐标计算,而进行坐标计算时,需要获取对象的绝对位置,这个坐标对象就是用于计算绝对位置用的。随着事件往下级对象的传递,坐标对象会作为上级对象的坐标数据往下级对象传递,从而进行递归式坐标计算,节省效率。
在其中,我们遍历了所有底层子对象并且判断是否可以进入鼠标事件向下级子对象循环,如果可以(及判断有无_enterMouseEvent
方法),则进行。除此之外,为了实现鼠标事件遮挡效果,我们特地的反着遍历显示列表,也就是说先遍历得到显示在上层的对象,调用这些对象的_enterMouseEvent
方法,该方法返回值若为True
则代表鼠标在该显示对象上面,通过break
中断遍历。
一般情况下,有_enterMouseEvent
的,大半是Sprite
对象。所以我们为Sprite
添加这个方法:
def _enterMouseEvent(self, e, cd):if not self.visible:returncurrentCd = self.__getVisualCoordinate(cd, self)isOn = self._isMouseOn(e, currentCd)if isOn:for o in self.childList[::-1]: if (hasattr(o, "_enterMouseEvent") and hasattr(o._enterMouseEvent, "__call__") and o._enterMouseEvent(e, currentCd)):breakself.__dispatchMouseEvent(e, currentCd)return False
和Stage中的_enterMouseEvent
非常类似。其中用了子对象的_isMouseOn
方法,用于判断是否点击到该对象上。而__dispatchMouseEvent
用于触发鼠标事件。__getVisualCoordinate
用于得到一个显示坐标,这个好比我们看三维图形直观图,实际的大小和看到的不是一样的。由于显示对象的x,y坐标是相对父对象的,所以我们通过这个方法来实现得到看到的大小和位置,及相对于屏幕左上角的绝对位置。__getVisualCoordinate
代码:
def __getVisualCoordinate(self, origin, obj):return {"x" : origin["x"] + obj.x * origin["scaleX"],"y" : origin["y"] + obj.y * origin["scaleY"],"scaleX" : origin["scaleX"] * obj.scaleX,"scaleY" : origin["scaleY"] * obj.scaleY}
这个方法的具体功能,如图所示:
对Object B使用该方法,那么传入的origin参数相当于Object A的坐标信息,参数obj就是Object B,返回的对象中,x属性就是90,y属性就是70。scaleX
和scaleY
同理。
虽然Sprite
是一个显示对象,但是可见的其实是里面的Bitmap
,TextField
等子对象,所以我们在为这些显示对象添加 _isMouseOn
方法时,要区分对待。对于Bitmap
等多数显示对象,我们采用判断点击的位置是否在显示对象所处的矩形范围内(毕竟我们几乎所有显示对象都是矩形的,暂时这么简单实现一下),给DisplayObject
类添加该方法:
def _isMouseOn(self, e, cd):if not self.visible:returnox = e["offsetX"]oy = e["offsetY"]x = cd["x"]y = cd["y"]scaleX = cd["scaleX"]scaleY = cd["scaleY"]w = self._getOriginalWidth()h = self._getOriginalHeight()if x <= ox <= x + w * scaleX and y <= oy <= y + h * scaleY:e["target"] = selfreturn Truereturn False
以上代码还是很好理解的,至于_getOriginalWidth
,_getOriginalHeight
二厮,不知道大家还记得不,是前面提到的获取显示对象原始宽高(忽略scaleX
和scaleY
)的方法。通过if x <= ox <= x + w * scaleX and y <= oy <= y + h * scaleY:
判断点击的位置是否在显示对象内。
对于Sprite
,添加不同的_isMouseOn
方法:
def _isMouseOn(self, e, cd):if not self.visible:returnchildList = self.childList[::-1]for o in childList:childCd = self.__getVisualCoordinate(cd, o)if o._isMouseOn(e, childCd):e["target"] = oreturn Truereturn False
和其他显示对象不同的是,它通过遍历子对象,并调用它们的_isMouseOn
来完成判定鼠标是否盘旋在该Sprite
上。其中设置了target
属性,用于方便使用者获取点击对象。
还有一个_dispatchMouseEvent
方法,用于触发鼠标事件:
def __dispatchMouseEvent(self, e, cd):for o in self.mouseList:t = o["eventType"]l = o["listener"]if t == e["eventType"]:eve = object()eve.offsetX = e["offsetX"]eve.offsetY = e["offsetY"]eve.selfX = (e["offsetX"] - cd["x"]) / cd["scaleX"]eve.selfY = (e["offsetY"] - cd["y"]) / cd["scaleY"]eve.target = e["target"]eve.currentTarget = selfl(eve)
该方法中,首先是遍历了鼠标事件列表,找到对应的事件,然后触发事件监听器(即回调函数)。注意,监听器接受一个参数,该参数是一个object
,储存了鼠标相对于屏幕左上角的坐标(offsetX
和offsetY
),以及相对于Sprite
对象的坐标(selfX
和selfY
),还可以通过currentTarget
属性获取触发事件的Sprite
对象,以及通过target
属性获取点击到的对象。
最后添加加入事件方法addEventListener
和removeEventListener
即可。顾名思义,它们分别用于添加事件和移除事件,主要用到list
和dict
来完成事件存储。代码如下:
def addEventListener(self, eventType, listener):self.mouseList.append({"eventType" : eventType,"listener" : listener})def removeEventListener(self, eventType, listener):for o in self.mouseList:if o["eventType"] == eventType and o["listener"] == listener:self.mouseList.remove(o)break
最后加入MouseEvent
类:
class MouseEvent(object):MOUSE_DOWN = "mouse_down"MOUSE_UP = "mouse_up"MOUSE_MOVE = "mouse_move"MOUSE_OVER = "mouse_over"MOUSE_OUT = "mouse_out"DOUBLE_CLICK = "mouse_dbclick"def __init__():raise Exception("MouseEvent cannot be instantiated.")
使用时,这么写就可以了:
def main():layer = Sprite()layer.scaleX = 3addChild(layer)txt = TextField()txt.text = "Test"txt.textColor = "red"txt.x = 50txt.y = 100txt.size = 50layer.addChild(txt)# mouse down eventlayer.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown)# mouse up eventlayer.addEventListener(MouseEvent.MOUSE_UP, onMouseUp)# mouse move eventlayer.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove)def onMouseDown(e):print("mouse down", e.offsetX, e.offsetY)def onMouseUp(e):print("mouse up", e.selfX, e.selfY)def onMouseMove(e):print("mouse move", e.target, e.currentTarget)init(30, "Sprite and Mouse Event", 800, 600, main)
运行截图如下:
至此,我们就把Sprite
和鼠标事件大致实现了。
预告:下一篇我们实现动画类。
欢迎大家继续关注我的博客
转载请注明出处:Yorhom’s Game Box
http://blog.csdn.net/yorhomwang
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Nginx入门教程( 动静分离架构 )
一、原理Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx 处理静态页面,Tomcat、 Resin 出来动态页面。动静分离从目前实现角度来讲大致分为两种,一种是…...
2024/4/17 0:00:21 - GJB151B CS106测试方法
GJB151B CS106测试方法 CS106测试 CS106测试目的 在设备、分系统所有不接地的交流和直流输入电源线上测试设备、分系统对电源线上注入的尖峰信号的敏感度。 CS106测试设备及基本要求 尖峰信号发生器应具有的特性脉冲宽度:0.15、5、10us 脉冲重复频率:3~10PPS 电压输出:不…...
2024/3/28 20:17:34 - SQLserver数据库备份
分类完整数据库备份:备份整个数据库差异数据库备份:较完整数据库备份更灵活,备份从最近一次的数据库以后发生的改变的数据事务日志备份:从上一个事务以来发生的事务日志备份,内容相对差异数据库备份更小文件组备份:对数据库中的部分文件或文件组进行备份备份恢复模式简单…...
2024/4/24 0:23:24 - 【python】| 图书管理系统
#!/usr/bin/env python #coding:utf-8"""" Name: 图书管理系统.py Date: 2018/2018/29 Connect: xc_guofan@163.com Author: lvah Desc:"""import timeclass Book(object):def __init__(self, name, author, state, bookIndex):self.name =…...
2024/4/17 0:00:09 - SQL Server 2012 数据库备份还原
文章目录1.数据库备份2.创建备份设备使用SSMS工具创建备份设备使用SQL方式创建备份设备3.完整备份与还原使用SSMS工具完整备份与还原使用SQL方式完整备份与还原4.差异备份与还原使用SSMS工具差异备份与还原使用SQL方式差异备份与还原5.事务日志备份与还原使用SSMS工具事务日志备…...
2024/4/16 23:59:51 - 万年历实现步骤
万年历输入一个年份,再输入一个月份,把那个月的日历打印出来,(1900年1月1日是星期一)。a:先输出提示语句,并接受用户输入的年、月。b:根据用户输入的年,先判断是否是闰年。(闰年2月有29天,平年2月有28天);C:根据用户输入的月来判断月的天数。D:用循环计算用户输入的…...
2024/4/18 11:17:31 - 基于知识管理的高校考务管理系统的研究与实现
本文是我执笔写的一篇小论文,将发表与《中国教育信息化》2008年第四期(已录用)。这是我的硕士毕业论文相关的一篇论文。 摘要:考务管理是教务管理的重要组成部分,是提高教学管理的质量乃至建设高水平大学的关键环节之一。针对目前大部分高校普遍使用人工方式处理考务管理…...
2024/5/4 0:36:48 - GJB150A-2009中温度试验随记
GJB150A-2009中的温度实验有高低温实验,每个又分为循环实验和恒温实验,包含贮存和工作两种状态,实验步骤为:准备试件、测试常温状态数据、设置试验温度、开启温度开关、贮存温度时间不小于2H、工作测试、回升至常温、常温测试为一个循环,在GJB150A-2009中:高温试验为GJB15…...
2024/4/17 0:01:10 - 野火指南者STM32F103 万年历制作
万年历1、总体方案1.1题目分析1.2总体方案设计2、设计及说明2.1器件或模块选择2.2主程序流程图设计2.3分布具体功能实现流程图设计3、关键问题或程序关键段落说明3.1 模块一3.1.1星期处理3.1.2 时间处理3.1.3 闰年判断3.1.4 农历时间3.1.5 农历甲子年等处理3.1.6 节气处理3.1.7…...
2024/5/3 23:47:57 - html5实现贪吃蛇小游戏
实现技术:h5的canvas+原生js可直接复制,查看效果<!doctype html> <html> <head> <meta charset="utf-8"> <title>html5实现贪吃蛇小游戏</title> <style> #myCanvas {box-shadow: 0 0 6px #000; } </style> </…...
2024/4/16 23:59:51 - SQL Server 2008/2012 完整数据库备份+差异备份+事务日志备份 数据库备份
文章目录数据备份分类根据备份目标分类根据备份数据文件的范围进行分类完整数据库备份从是否复制所有的数据分类差异备份日志备份事务日志备份最常用的备份方法选择备份策略和恢复模式简单恢复模式下的备份简单恢复模式下的完整数据库备份+差异数据库备份完整恢复模式下的备份完…...
2024/4/20 6:53:31 - Nginx简易入门
Nginx的简介 "Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。"-----官方介绍 Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP/POP3/SMTP…...
2024/4/19 16:19:38 - GJB150-2009军用装备实验室环境试验方法新版标准
http://www.kekaoxing.com/m/view.php?aid=22604GJB150.1A-2009 军用装备实验室环境试验方法第1部分:通用要求(代替GJB150.1-86)GJB150.2A-2009 军用装备实验室环境试验方法第2部分:低气压(高度)试验(代替GJB150.2-86)GJB150.3A-2009 军用装备实验室环境试验方法GJB150.4A-2…...
2024/4/18 22:20:50 - 用SJ定理解决Anti-SG游戏
Anti-SG游戏定义1、决策集合为空的操作者胜。 2、其余规则与SG游戏一致。SJ定理对于任意一个Anti-SG游戏,如果定义所有子游戏的SG值为0时游戏结束,先手必胜的条件: 1、游戏的SG值为0且所有子游戏SG值均不超过1。 2、游戏的SG值不为0且至少一个子游戏SG值超过1。证明先证明…...
2024/5/2 2:17:27 - 实现Android版的多功能日历(送源代码)
实现Android版的多功能 日历课程介绍这 套技术视频 课程,在介绍基础知识的同时,还以迭代的方式实现 了一个完整的例子(多功能日历)。 通过这个例子,学员可以掌握大多数Android的知识,例如,多功能日历涉及到了数据库 、图形、网络、服务等经常用到的Android 技术。 在每一…...
2024/5/2 0:01:44 - SqlServer数据库备份与还原
问题描述最近需要给程序新增功能,用于将旧格式的数据转换为新格式,同时删除旧格式的数据(新旧格式的数据库表有部分重叠,同一份数据无法同时存在新旧格式的数据),由于测试环境中的测试数据不多,功能调试几次之后就没有旧格式的数据做测试了,因此想到在功能调试前先将测…...
2024/5/2 1:43:18 - 计算机操作系统-文件管理 知识点归纳
1.在操作系统的引论部分介绍过操作系统的主要功能有:处理机管理功能、存储器管理功能、设备管理功能、文件管理功能。2.文件管理功能:专门管理在外存上的文件,并把对文件的存取、共享和保护等手段提供给用户。文件系统的功能大多在中间层-对对象操纵和管理的软件集合上实现,…...
2024/5/2 1:45:23 - nginx 基本入门
https://www.ivweb.io/topic/58427dfb270eedfd10a0f5ea...
2024/5/2 0:37:54 - 通过研究主控IC为R61509V的彩色液晶屏 单片机控制3.2寸TFT(测试已通过)(一)
单片机型号:STC90C51 16RD+ TFT型号:3.2寸普中科技彩屏,驱动IC型号:R61509V 本人是单片机爱好者,虽然学的专业与此无关,但因为个人兴趣,开始自学单片机。通过blog记录学习经验,希望可以帮到和我一样对单片机喜欢的初学着。由于水平有限,个人对R61…...
2024/5/1 22:21:02 - Mysql数据库备份(一)------数据库备份和表备份
一、Mysql中的数据备份: Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的 工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所…...
2024/5/2 6:24:51
最新文章
- 解决AmazonEKSNodeRole创建ALB相关策略 AccessDenied问题
问题 Failed deploy model due to AccessDenied: User: arn:aws:sts::XXXXXXX:assumed-role/AmazonEKSNodeRole/i-05dde0c62e7539e0a is not authorized to perform: elasticloadbalancing:AddTags on resource: arn:aws:elasticloadbalancing:ap-east-1:369180331248:targetgr…...
2024/5/4 3:31:43 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - springboot websocket 持续打印 pod 日志
springboot 整合 websocket 和 连接 k8s 集群的方式参考历史 Java 专栏文章 修改前端页面 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Java后端WebSocket的Tomcat实现</title><script type"text/javasc…...
2024/5/3 1:41:11 - C++ 【原型模式】
简单介绍 原型模式是一种创建型设计模式 | 它使你能够复制已有对象,客户端不需要知道要复制的对象是哪个类的实例,只需通过原型工厂获取该对象的副本。 以后需要更改具体的类或添加新的原型类,客户端代码无需改变,只需修改原型工…...
2024/5/1 7:27:36 - PostCss:详尽指南之安装和使用
引言 在现代前端开发中,CSS预处理器如Sass、Less等已经成为提升开发效率、增强代码可维护性的重要工具。然而,随着Web技术的发展,CSS的功能也在不断扩展,一些新的CSS语法(如变量、自定义属性、CSS Grid等)以…...
2024/5/2 5:02:14 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/3 23:10:03 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/2 15:04:34 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/4 2:59:34 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57