2019年5月

Maker DAO 使用了多个用于特定目的 ERC-20 通证,以确保 DAI 稳定币的稳定性。本文描述了基于 Bloxy.info 通证流工具的角色和使用模式。

Maker DAO 通证

Maker DAO 系统是由多个智能合约(Sai Tap、Sai Tub、Vox、Medianiser 等)和 ERC-20 通证组成. 它们一起来确保 DAI 通证的稳定性。

在这篇文章中,我们主要关注通证是如何周转和使用的。下图显示了主要的通证流动周转和智能合约的使用方式,如何将一个通证转换为另一个通证:

Maker DAO Token流动周转和智能合同使用方式

Maker DAO 通证流动周转和智能合约的使用方式

上图中通证显示为圆形,而智能合约及其实体显示为圆角矩形。图表上的箭头表示使用这些智能合约的方法,你可以将余额从一个通证转换为另一个通证。

例如,调用 join() 将从你那里删除 WETH 通证,并为你提供适当数量的 PETH 通证。

不稳定(类“ETH”)通证

图的左侧显示了与以太币相关的令牌:

ETH:它本身并没有在 Maker DAO 系统中直接使用。如果你原来有 ETH (和我们大多数人一样),你必须首先将它转换成 WETH(“ 包装过的 ETH Wrapped ETH ”)通证。
WETH:是 ETH 的一对一映射,但是作为 ERC-20 的通证存在。在任何时候,你都可以把 ETH 换成 WETH,或反之。缺点是,每一次这样的转变都需要花费燃料。
PETH:是 “ 集合 ETH Pooled Ether ”的缩写。当你把 WETH 存入 Maker DAO 时,你会得到这个通证。请注意,它并不完全是一对一的,它的汇率是计算出来的。

稳定(类“DAI”)通证

DAI:MakerDAO 的稳定币,预计将接近 1 美元。当你用 CDP 生成贷款时,它会为你创造 DAI。
SIN:代表已清算的债务。它的价值等于 1DAI,在债务清算过程中使用而不是 DAI。

Maker DAO 功能通证

MKR:用于偿还债务时支付佣金的通证(通过擦除方法)。

智能合约

Sai Tub 智能合约:抵押债仓(CDP)系统。CDP 是你在 PETH 抵押后生成的 DAI 的债务。Maker DAO 的大多数操作都是使用它完成的。
Sai Tap 智能合约:可以用于清算债务并从中产生利润。

智能合约使用方法

Maker DAO 智能合约有很多的使用方法,下表对其中的主要部分进行了分类:

Maker DAO智能合约使用方法

Maker DAO 智能合约使用方法

大多数方法都是使用我们上面列出的通证来操作,并且 CDP 作为 Sai Tub 内部的实体。这些方法的更详细描述可以在 Maker DAO 事务图解这篇文章之中看到。

通证使用模式

下面的材料是基于 Bloxy.info 通证的周转工具和 Maker DAO 分析的仪表板

Bloxy.info 网站为分析师、交易者、公司和加密爱好者提供了一套工具。

这些工具包括 API、仪表板和搜索引擎,所有这些都是现场提供,提供准确的数据,直接从区块链实时节点索引。

Bloxy 的使命是使区块链更加透明,让人们和企业都可以访问。

请引用本文时指出数据来源。

我们的目标是将智能合约代码和上面的图表与关于这些通证的实际通证周转和用户操作相匹配。我们将使用我们的工具和分析方法,从不同的角度逐一调查这些通证。

我们要看的第一个通证是…

WETH(Wrapped Ether)

WETH 解释在 weth.io 网站上。WETH 被称为“ 包装过的 ETH Wrapped ETH ”,可以在需要 ERC-20 通证的地方代替 ETH。我们首先想到的是去中心化交换 (DEX)。通常,DEX 协议更希望使用 ERC20 通证作为买/卖方之间的资产,并且不能直接使用 ETH。所以你先把你的 ETH 包装成 WETH,交换后的 WETH 可以换回 ETH。

这个通证与 Maker DAO 协议于 2017 年 12 月同时发起。请注意,其最大的持有者是 Maker DAO 的智能合约:

WETH 最大持有者

WETH最大持有者

所有者与其他通证的交集还显示了 Maker DAO 通证:

共同持有者相关的令牌,来源: bloxy.info

Maker DAO Sai Tub 智能合约上出现的这种高 WETH 余额,是因为用户将 WETH 存入 Maker DAO 的 Sai Tub 智能合约,以便之后创建 CDP。我们分析了这个过程中动态的 MakerDAO 仪表板:

WETH 锁定的金额、存款和取款。来源: bloxy.info MakerDAO dashboard

从这张图表中可以看出,在 2019 年 5 月 10 日,锁定的 WETH 金额约为 200 万 ETH (橙色线),而创造的总金额超过了 400 万 ETH。

参与这项活动的人有多少?交易者的数量可以通过唯一地址在 Sai Tub 智能合约上启动的退出/加入交易记录来估计:

在 Maker DAO 智能合约上唯一的地址数、锁定和释放 WETH。来源:bloxy.info MakerDAO dashboard

交易者的行为是由每月锁定和释放的 WETH 数量来呈现的:

每月锁定和释放 WETH 的金额。来源: bloxy.info MakerDAO dashboard

图中右侧的两列展示了,在 2019 年 4 月前,当更多的人开始从 Maker DAO 锁定和释放 WETH 时,锁定和释放的数量的趋势相当对称。那反过来也可导致 Maker DAO 的 WETH 数量减少。

Maker DAO 之外的 WETH?

那么问题来了,除了 Maker DAO 之外,它可以在任何地方使用吗?

答案是肯定的。首先,它在 ZeroX 和 Oasis (匹配市场) 交易所交易中非常活跃,下图是 bloxyinfo 中展示的 WETH 交易页面

通证周转工具 显示 WETH 的主要流量:

主要的 WETH 周转路线。来源: bloxy.info

正如你所看到的,WETH 通证 有几个 “重心”:

  1. MakerDAI 的 Sai Tub 合约
  2. Oasis、DDEX 等交易所
  3. ZeroX(不涉及转账,所以没有在这个图表上明确显示)

我们拿 DEX(去中心化交易所)上一个最活跃的交易者的 WETH 交易作为例子:

DEX 上 WETH/DAI 交易对的多方交易。来源: bloxy.info

WETH 的交易不仅仅是针对 DAI 的交易,以下是 DEX 交易所的前 10 组交易对:

DEX 上的前 10 组 WETH 交易对。来源: bloxy.info DEX API

PETH(Pooled Ether)

PETH 代表了 ETH,你在 Maker DAO 智能合约中投入了 ETH,以在未来创造 DAI 债务。它对 WETH 的费率等于:

PETH = WETH * (Total PETH supply) / (WETH balance )

现在等于 1.04,因为 PETH 的一部分由于债务清算而被销毁。如图所示,这个数字随着时间的推移而增加:

与 PETH/WETH 相关的费率和利润。来源:bloxy.info MakerDAO dashboard

PETH/WETH 费率的变化为早期进入并用 PETH 换取 WETH 的用户创造了 年利率 Annual Percentage Rate (APR)和利润,他们的总利润估计在 80,000 ETH 左右。

PETH 是不能在 DEX 上进行交易的,似乎只作为 Maker DAO 的基础设施在其内部使用。

下面的通证周转显示,主要的 PETH 周转量是 Sai Tub 智能合约之间的互相转移。然后,部分周转量会转到 Sai Tap (在债务清算的情况下),或者转到系统地址(用于销毁):

PETH 通证周转。来源:bloxy.info token flow tool

继续! 在第二部分,我们将讨论 DAI、MKR 和 SIN 通证 !


via:https://medium.com/coinmonks/makerdao-tokens-explained-dai-weth-peth-sin-mkr-part-1-a46a0f687d5e

作者:Aleksey Studnev 译者:zionfuo

Google 在 2017 年宣布了对 SHA-1 哈希算法的首个成功碰撞攻击。所谓碰撞攻击是指两个不同的信息产生了相同的哈希值。在 Google 的研究中,攻击所需的计算量十分惊人,用 Google 说法,它用了 6,500 年的 CPU 计算时间去完成了碰撞的第一阶段,然后用了 110 年的 GPU 计算时间完成第二阶段。

现在,SHA-1 碰撞攻击正变得切实可行。上周一组来自新加坡和法国的研究人员演示了首个构造前缀碰撞攻击,即攻击者可以自由选择两个碰撞信息的前缀。

构造前缀碰撞攻击所需的计算费用不到 10 万美元,意味着伪造 SHA-1 签名文件将变得可能,这些文档可能是商业文件也可能是 TLS 证书。现在是时候完全停止使用 SHA-1 了。

来源:solidot.org

更多资讯

旧金山可能成为禁止面部识别技术的第一个美国城市

旧金山市将于周二投票决定是否禁止警察局和其他城市机构对居民进行面部识别。如果获得批准,这将是美国首次禁用该技术的城市。该法令还为警察部门制定了一个流程,以披露他们使用的监控技术,例如车牌阅读器和可以跟踪居民随时间变动的手机基站模拟器。但它特别指出面部识别对居民的公民自由太有害处,甚至不考虑使用。

来源: cnBeta.COM

详情: http://t.cn/EKCwMtT

“三只小猫”漏洞威胁全球数百万思科路由器

美国 Red Ballon 安全研究公司近日发布了一份报告,公布了思科产品的两个漏洞。第一个漏洞被称为Thrangrycat,允许攻击者通过现场可编程门阵列(FPGA)比特流操作完全绕过思科的信任锚模块(TAm)。

来源: 开源中国

详情: http://t.cn/EKCwiEi

银行客户信息核实工作开启:手机号重复过多停办业务

近日,多家银行集体发布公告称将开展客户个人信息核实工作,与以往不同的是,此次核实信息包括姓名、性别、国籍、职业、联系电话、联系地址(家庭地址或工作地址)、身份证件类型及号码、证件有效期限。核实信息之多,可谓史上最严。

来源: 证券日报

详情: http://t.cn/EKCwagX

不亚于 WannaCry:微软面向 Windows XP 发布紧急修复补丁

如果你依然在使用联网的 Windows XP 或者 Windows Server 2003 系统,同时也包括 Windows 7、Windows Server 2008 以及 2008 R2 系统,那么应该立即安装微软刚刚推出的紧急修复补丁。为了修复不亚于 Wannacry 的 RDP 服务漏洞,微软于今天面向包括 XP 在内的上述系统发布了紧急修复补丁,要求用户尽快完成安装。

来源: cnBeta.COM

详情: http://t.cn/EKCwKT5

(信息来源于网络,安华金和搜集整理)

这里是最好的 Kali Linux 工具列表,它们可以让你评估 Web 服务器的安全性,并帮助你执行黑客渗透测试。

如果你读过 Kali Linux 点评,你就知道为什么它被认为是最好的黑客渗透测试的 Linux 发行版之一,而且名副其实。它带有许多工具,使你可以更轻松地测试、破解以及进行与数字取证相关的任何其他工作。

它是 道德黑客 ethical hacker 最推荐的 Linux 发行版之一。即使你不是黑客而是网站管理员 —— 你仍然可以利用其中某些工具轻松地扫描你的网络服务器或网页。

在任何一种情况下,无论你的目的是什么 —— 让我们来看看你应该使用的一些最好的 Kali Linux 工具。

注意:这里不是所提及的所有工具都是开源的。

用于黑客渗透测试的 Kali Linux 工具

Kali Linux 预装了几种类型的工具。如果你发现有的工具没有安装,只需下载并进行设置即可。这很简单。

1、Nmap

Nmap

Nmap (即 “ 网络映射器 Network Mapper ”)是 Kali Linux 上最受欢迎的信息收集工具之一。换句话说,它可以获取有关主机的信息:其 IP 地址、操作系统检测以及网络安全的详细信息(如开放的端口数量及其含义)。

它还提供防火墙规避和欺骗功能。

2、Lynis

Lynis

Lynis 是安全审计、合规性测试和系统强化的强大工具。当然,你也可以将其用于漏洞检测和渗透测试。

它将根据检测到的组件扫描系统。例如,如果它检测到 Apache —— 它将针对入口信息运行与 Apache 相关的测试。

3、WPScan

WPScan

WordPress 是最好的开源 CMS之一,而这个工具是最好的免费 WordpPress 安全审计工具。它是免费的,但不是开源的。

如果你想知道一个 WordPress 博客是否在某种程度上容易受到攻击,WPScan 就是你的朋友。

此外,它还为你提供了所用的插件的详细信息。当然,一个安全性很好的博客可能不会暴露给你很多细节,但它仍然是 WordPress 安全扫描找到潜在漏洞的最佳工具。

4、Aircrack-ng

Aircrack-ng

Aircrack-ng 是评估 WiFi 网络安全性的工具集合。它不仅限于监控和获取信息 —— 还包括破坏网络(WEP、WPA 1 和 WPA 2)的能力。

如果你忘记了自己的 WiFi 网络的密码,可以尝试使用它来重新获得访问权限。它还包括各种无线攻击能力,你可以使用它们来定位和监控 WiFi 网络以增强其安全性。

5、Hydra

Hydra

如果你正在寻找一个有趣的工具来破解登录密码,Hydra 将是 Kali Linux 预装的最好的工具之一。

它可能不再被积极维护,但它现在放在 GitHub 上,所以你也可以为它做贡献。

6、Wireshark

Wireshark

Wireshark 是 Kali Linux 上最受欢迎的网络分析仪。它也可以归类为用于网络嗅探的最佳 Kali Linux 工具之一。

它正在积极维护,所以我肯定会建议你试试它。

7、Metasploit Framework

Metasploit Framework

Metsploit Framework(MSF)是最常用的渗透测试框架。它提供两个版本:一个开源版,另外一个是其专业版。使用此工具,你可以验证漏洞、测试已知漏洞并执行完整的安全评估。

当然,免费版本不具备所有功能,所以如果你在意它们的区别,你应该在这里比较一下版本。

8、Skipfish

Skipfish

与 WPScan 类似,但它不仅仅专注于 WordPress。Skipfish 是一个 Web 应用扫描程序,可以为你提供几乎所有类型的 Web 应用程序的洞察信息。它快速且易于使用。此外,它的递归爬取方法使它更好用。

Skipfish 生成的报告可以用于专业的 Web 应用程序安全评估。

9、Maltego

Maltego

Maltego 是一种令人印象深刻的数据挖掘工具,用于在线分析信息并连接信息点(如果有的话)。 根据这些信息,它创建了一个有向图,以帮助分析这些数据之间的链接。

请注意,这不是一个开源工具。

它已预装,但你必须注册才能选择要使用的版本。如果个人使用,社区版就足够了(只需要注册一个帐户),但如果想用于商业用途,则需要订阅 classic 或 XL 版本。

10、Nessus

Nessus

如果你的计算机连接到了网络,Nessus 可以帮助你找到潜在攻击者可能利用的漏洞。当然,如果你是多台连接到网络的计算机的管理员,则可以使用它并保护这些计算机。

但是,它不再是免费的工具了,你可以从官方网站免费试用 7 天。

11、Burp Suite Scanner

Burp Suite Scanner

Burp Suite Scanner 是一款出色的网络安全分析工具。与其它 Web 应用程序安全扫描程序不同,Burp 提供了 GUI 和一些高级工具。

社区版仅将功能限制为一些基本的手动工具。对于专业人士,你必须考虑升级。与前面的工具类似,这也不是开源的。

我使用过免费版本,但是如果你想了解更多细节,你应该查看他们官方网站上提供的功能。

12、BeEF

BeEF

BeEF( 浏览器利用框架 Browser Exploitation Framework )是另一个令人印象深刻的工具。它专为渗透测试人员量身定制,用于评估 Web 浏览器的安全性。

这是最好的 Kali Linux 工具之一,因为很多用户在谈论 Web 安全时希望了解并修复客户端的问题。

13、Apktool

Apktool

Apktool 确实是 Kali Linux 上用于逆向工程 Android 应用程序的流行工具之一。当然,你应该正确利用它 —— 出于教育目的。

使用此工具,你可以自己尝试一下,并让原开发人员了解你的想法。你认为你会用它做什么?

14、sqlmap

sqlmap

如果你正在寻找一个开源渗透测试工具 —— sqlmap 是最好的之一。它可以自动化利用 SQL 注入漏洞的过程,并帮助你接管数据库服务器。

15、John the Ripper

John the Ripper

John the Ripper 是 Kali Linux 上流行的密码破解工具。它也是自由开源的。但是,如果你对社区增强版不感兴趣,可以用于商业用途的专业版

16、Snort

想要实时流量分析和数据包记录功能吗?Snort 可以鼎力支持你。即使它是一个开源的入侵防御系统,也有很多东西可以提供。

如果你还没有安装它,官方网站提及了安装过程。

Snort

17、Autopsy Forensic Browser

Autopsy Forensic Browser

Autopsy 是一个数字取证工具,用于调查计算机上发生的事情。那么,你也可以使用它从 SD 卡恢复图像。它也被执法官员使用。你可以阅读文档来探索可以用它做什么。

你还应该查看他们的 GitHub 页面

18、King Phisher

King Phisher

网络钓鱼攻击现在非常普遍。King Phisher 工具可以通过模拟真实的网络钓鱼攻击来帮助测试和提升用户意识。出于显而易见的原因,在模拟一个组织的服务器内容前,你需要获得许可。

19、Nikto

Nikto

Nikto 是一款功能强大的 Web 服务器扫描程序 —— 这使其成为最好的 Kali Linux 工具之一。 它会检查存在潜在危险的文件/程序、过时的服务器版本等等。

20、Yersinia

Yersinia

Yersinia 是一个有趣的框架,用于在网络上执行第 2 层攻击(第 2 层是指 OSI 模型的数据链路层)。当然,如果你希望你的网络安全,则必须考虑所有七个层。但是,此工具侧重于第 2 层和各种网络协议,包括 STP、CDP,DTP 等。

21、Social Engineering Toolkit (SET)

Social Engineering Toolkit (SET)

如果你正在进行相当严格的渗透测试,那么这应该是你应该检查的最佳工具之一。社交工程是一个大问题,使用 SET 工具,你可以帮助防止此类攻击。

总结

实际上 Kali Linux 捆绑了很多工具。请参考 Kali Linux 的官方工具列表页面来查找所有内容。

你会发现其中一些是完全自由开源的,而有些则是专有解决方案(但是免费)。但是,出于商业目的,你应该始终选择高级版本。

我们可能错过了你最喜欢的某个 Kali Linux 工具。请在下面的评论部分告诉我们。


via: https://itsfoss.com/best-kali-linux-tools/

作者:Ankush Das 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在我们这个包含了 7 个 PyPI 库的系列文章中学习解决常见的 Python 问题的方法。

Python 是当今使用最多的流行编程语言之一,因为:它是开源的,它有广泛的用途(例如 Web 编程、业务应用、游戏、科学编程等等),它有一个充满活力和专注的社区支持它。这个社区可以让我们在 Python Package Index(PyPI)中有如此庞大、多样化的软件包,用以扩展和改进 Python 并解决不可避免的问题。

在本系列中,我们将介绍七个可以帮助你解决常见 Python 问题的 PyPI 库。首先是 Cython,一个简化 Python 编写 C 扩展的语言。

Cython

使用 Python 很有趣,但有时,用它编写的程序可能很慢。所有的运行时动态调度会带来很大的代价:有时它比用 C 或 Rust 等系统语言编写的等效代码慢 10 倍。

将代码迁移到一种全新的语言可能会在成本和可靠性方面付出巨大代价:所有的手工重写工作都将不可避免地引入错误。我们可以两者兼得么?

为了练习一下优化,我们需要一些慢代码。有什么比斐波那契数列的意外指数实现更慢?

def fib(n):
  if n < 2:
    return 1
  return fib(n-1) + fib(n-2)

由于对 fib 的调用会导致两次再次调用,因此这种效率极低的算法需要很长时间才能执行。例如,在我的新笔记本电脑上,fib(36) 需要大约 4.5 秒。这个 4.5 秒会成为我们探索 Python 的 Cython 扩展能提供的帮助的基准。

使用 Cython 的正确方法是将其集成到 setup.py 中。然而,使用 pyximport 可以快速地进行尝试。让我们将 fib 代码放在 fib.pyx 中并使用 Cython 运行它。

>>> import pyximport; pyximport.install()
>>> import fib
>>> fib.fib(36)

只使用 Cython 而不修改代码,这个算法在我笔记本上花费的时间减少到大约 2.5 秒。几乎无需任何努力,这几乎减少了 50% 的运行时间。当然,得到了一个不错的成果。

加把劲,我们可以让它变得更快。

cpdef int fib(int n):
  if n < 2:
    return 1
  return fib(n - 1) + fib(n - 2)

我们将 fib 中的代码变成用 cpdef 定义的函数,并添加了两个类型注释:它接受一个整数并返回一个整数。

这个变得快了,大约只用了 0.05 秒。它是如此之快,以至于我可能开始怀疑我的测量方法包含噪声:之前,这种噪声在信号中丢失了。

当下次你的 Python 代码花费太多 CPU 时间时,也许会导致风扇狂转,为何不看看 Cython 是否可以解决问题呢?

在本系列的下一篇文章中,我们将看一下 Black,一个自动纠正代码格式错误的项目。

(题图:Subgrafik San


via: https://opensource.com/article/19/5/python-cython

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这是用 Python 从头开始构建游戏的系列文章的第三部分。

这个系列的第一篇文章 中,我解释了如何使用 Python 创建一个简单的基于文本的骰子游戏。在第二部分中,我向你们展示了如何从头开始构建游戏,即从 创建游戏的环境 开始。但是每个游戏都需要一名玩家,并且每个玩家都需要一个可操控的角色,这也就是我们接下来要在这个系列的第三部分中需要做的。

在 Pygame 中,玩家操控的图标或者化身被称作 妖精 sprite 。如果你现在还没有任何可用于玩家妖精的图像,你可以使用 KritaInkscape 来自己创建一些图像。如果你对自己的艺术细胞缺乏自信,你也可以在 OpenClipArt.orgOpenGameArt.org 搜索一些现成的图像。如果你还未按照上一篇文章所说的单独创建一个 images 文件夹,那么你需要在你的 Python 项目目录中创建它。将你想要在游戏中使用的图片都放 images 文件夹中。

为了使你的游戏真正的刺激,你应该为你的英雄使用一张动态的妖精图片。这意味着你需要绘制更多的素材,并且它们要大不相同。最常见的动画就是走路循环,通过一系列的图像让你的妖精看起来像是在走路。走路循环最快捷粗糙的版本需要四张图像。

注意:这篇文章中的代码示例同时兼容静止的和动态的玩家妖精。

将你的玩家妖精命名为 hero.png。如果你正在创建一个动态的妖精,则需要在名字后面加上一个数字,从 hero1.png 开始。

创建一个 Python 类

在 Python 中,当你在创建一个你想要显示在屏幕上的对象时,你需要创建一个类。

在你的 Python 脚本靠近顶端的位置,加入如下代码来创建一个玩家。在以下的代码示例中,前三行已经在你正在处理的 Python 脚本中:

import pygame
import sys
import os # 以下是新代码

class Player(pygame.sprite.Sprite):
    '''
    生成一个玩家
    '''
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.images = []
    img = pygame.image.load(os.path.join('images','hero.png')).convert()
    self.images.append(img)
    self.image = self.images[0]
    self.rect  = self.image.get_rect()

如果你的可操控角色拥有一个走路循环,在 images 文件夹中将对应图片保存为 hero1.pnghero4.png 的独立文件。

使用一个循环来告诉 Python 遍历每个文件。

'''
对象
'''

class Player(pygame.sprite.Sprite):
    '''
    生成一个玩家
    '''
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.images = []
        for i in range(1,5):
            img = pygame.image.load(os.path.join('images','hero' + str(i) + '.png')).convert()
            self.images.append(img)
            self.image = self.images[0]
            self.rect  = self.image.get_rect()

将玩家带入游戏世界

现在已经创建好了一个 Player 类,你需要使用它在你的游戏世界中生成一个玩家妖精。如果你不调用 Player 类,那它永远不会起作用,(游戏世界中)也就不会有玩家。你可以通过立马运行你的游戏来验证一下。游戏会像上一篇文章末尾看到的那样运行,并得到明确的结果:一个空荡荡的游戏世界。

为了将一个玩家妖精带到你的游戏世界,你必须通过调用 Player 类来生成一个妖精,并将它加入到 Pygame 的妖精组中。在如下的代码示例中,前三行是已经存在的代码,你需要在其后添加代码:

world       = pygame.display.set_mode([worldx,worldy])
backdrop    = pygame.image.load(os.path.join('images','stage.png')).convert()
backdropbox = screen.get_rect()

# 以下是新代码

player = Player()   # 生成玩家
player.rect.x = 0   # 移动 x 坐标
player.rect.y = 0   # 移动 y 坐标
player_list = pygame.sprite.Group()
player_list.add(player)

尝试启动你的游戏来看看发生了什么。高能预警:它不会像你预期的那样工作,当你启动你的项目,玩家妖精没有出现。事实上它生成了,只不过只出现了一毫秒。你要如何修复一个只出现了一毫秒的东西呢?你可能回想起上一篇文章中,你需要在主循环中添加一些东西。为了使玩家的存在时间超过一毫秒,你需要告诉 Python 在每次循环中都绘制一次。

将你的循环底部的语句更改如下:

    world.blit(backdrop, backdropbox)
    player_list.draw(screen) # 绘制玩家
    pygame.display.flip()
    clock.tick(fps)

现在启动你的游戏,你的玩家出现了!

设置 alpha 通道

根据你如何创建你的玩家妖精,在它周围可能会有一个色块。你所看到的是 alpha 通道应该占据的空间。它本来是不可见的“颜色”,但 Python 现在还不知道要使它不可见。那么你所看到的,是围绕在妖精周围的边界区(或现代游戏术语中的“ 命中区 hit box ”)内的空间。

你可以通过设置一个 alpha 通道和 RGB 值来告诉 Python 使哪种颜色不可见。如果你不知道你使用 alpha 通道的图像的 RGB 值,你可以使用 Krita 或 Inkscape 打开它,并使用一种独特的颜色,比如 #00ff00(差不多是“绿屏绿”)来填充图像周围的空白区域。记下颜色对应的十六进制值(此处为 #00ff00,绿屏绿)并将其作为 alpha 通道用于你的 Python 脚本。

使用 alpha 通道需要在你的妖精生成相关代码中添加如下两行。类似第一行的代码已经存在于你的脚本中,你只需要添加另外两行:

            img = pygame.image.load(os.path.join('images','hero' + str(i) + '.png')).convert()
            img.convert_alpha()     # 优化 alpha
            img.set_colorkey(ALPHA) # 设置 alpha

除非你告诉它,否则 Python 不知道将哪种颜色作为 alpha 通道。在你代码的设置相关区域,添加一些颜色定义。将如下的变量定义添加于你的设置相关区域的任意位置:

ALPHA = (0, 255, 0)

在以上示例代码中,0,255,0 被我们使用,它在 RGB 中所代表的值与 #00ff00 在十六进制中所代表的值相同。你可以通过一个优秀的图像应用程序,如 GIMP、Krita 或 Inkscape,来获取所有这些颜色值。或者,你可以使用一个优秀的系统级颜色选择器,如 KColorChooser,来检测颜色。

如果你的图像应用程序将你的妖精背景渲染成了其他的值,你可以按需调整 ALPHA 变量的值。不论你将 alpha 设为多少,最后它都将“不可见”。RGB 颜色值是非常严格的,因此如果你需要将 alpha 设为 000,但你又想将 000 用于你图像中的黑线,你只需要将图像中线的颜色设为 111。这样一来,(图像中的黑线)就足够接近黑色,但除了电脑以外没有人能看出区别。

运行你的游戏查看结果。

这个系列的第四篇文章 中,我会向你们展示如何使你的妖精动起来。多么的激动人心啊!


via: https://opensource.com/article/17/12/game-python-add-a-player

作者:Seth Kenlon 选题:lujun9972 译者:cycoe 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

运行 Drupal、Joomla 或 Typo3 系统的网站需要及时打上补丁。编号为 CVE-2019-11831 的漏洞位于 PHP 组件 PharStreamWrapper 中,源于一个路径遍历 bug,允许攻击者用恶意的 phar 归档替换网站的合法相同文件。Drupal 开发者将这个漏洞标记中等危险级别,尽管不是高危,网站管理员还是应该尽可能快的打上补丁。发现该漏洞的安全研究员认为该漏洞属于高危。运行 Drupal 8.7 的网站需要升级到 8.7.1,8.6 或更早版本的网站需要更新到 8.6.16,7 需要升级到 7.67。Joomla 需要升级到 3.9.6。

来源:solidot.org

更多资讯

报告称忠诚度计划是“黑客的蜜罐”

使用可以在用户最喜欢的餐馆或服装店节省几美元的忠诚度应用程序似乎是无害的。然而根据《纽约时报》上周六的报道,这正是黑客所依赖的 。据《纽约时报》报道,一个安全组织估计,每年因在线忠诚计划相关犯罪而损失10亿美元。此外,根据Javelin战略与研究公司的说法,此类犯罪从2017年到2018年翻了一番。

来源: cnBeta.COM

详情: http://t.cn/EKiZ8Eg

研究人员拟公开来自政府、可能会被遗忘的网络攻击历史记录

据外媒报道,1989年,就在网络成为现实的几个月后,一种计算机蠕虫感染了全世界全球成千上万台计算机,其中包括了NASA的计算机。蠕虫病毒在受感染电脑的屏幕上显示一条信息:“你的系统已被正式 WANKed。”

来源: cnBeta.COM

详情: http://t.cn/EKiZmLN

德国网络安全局警告卡巴斯基杀毒软件存在安全缺陷

德国网络安全机构 BSI 就卡巴斯基杀毒软件的安全漏洞发出警告,建议用户尽快安装最新补丁。虽然该建议不包括基于该缺陷可能网络攻击的任何详细信息,但BSI警告说,黑客只需向其目标发送包含特制文件的恶意电子邮件,在某些情况下,甚至不需要打开该文件。

来源: cnBeta.COM

详情: http://t.cn/EKiZ1zJ

日本母公司遭黑客袭击 46 万客户信息泄露 而国内优衣库却这样说

日本迅销公司 5 月 14 日发布声明说,旗下品牌优衣库、GU 销售网站逾 46 万名客户个人消息遭未授权访问,可能造成信息泄露。优衣库方面当天对北京青年报记者表示,经调查,此次事件不涉及中国的网站及信息平台。

来源: 北青网

详情: http://t.cn/EKiZDBP

(信息来源于网络,安华金和搜集整理)