Python与星球大战背后的工业光魔
提起Python语言,很多人会想起系统运维、Web开发等工作。很少有人会知道Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作。
星战之父乔治·卢卡斯于1975年创建了工业光魔(全称:Industrial Light and Magic),从第一部《星球大战》起便参与了电影的特效制作。据Python官网介绍,工业光魔从1996年起开始使用Python语言,取代了此前的Unix shell脚本。工业光魔做出这个决定的原因,在于Python的学习难度低,开发速度快。当时,Python还只是1.4版本。
电影特效行业竞争十分激烈,制作公司会不断地寻找更加优秀的编程语言,提高工作效率。工业光魔也是一直在评估Python语言的使用,但是近20年以来,还没有找到一个更好的替代品。
工业光魔的资深技术总监Tommy Burnette曾经这样评价道:
由此可见Python的强大。
Star Wars API
你知道《星球大战》系列大战中出现了多少个种族,多少种飞船吗?这些答案都可以在Star Wars API中找到。
据开发者介绍,Star Wars API是全球首个量化的、可供编程使用的星战数据集。开发者经过漫长的搜集和整理,汇总了星战系列电影中的人物、种族、星球、飞船等详细数据。目前,这个API中已经收录了《原力觉醒》中的新数据。API的作者还用Python开发了一个helper库。
我们来看看可以用这个库做些什么。
将所有星球按大小排列:
import swapi for planet in swapi.get_all("planets").order_by("diameter"): print(planet.name)
查看哪些人开过1艘以上的飞船:
import swapi for people in swapi.get_all("people").iter(): if len(people.starships) > 1: print(people.name)
检索Jar Jar Binks是否在电影中出现:
import swapi pm = swapi.get_film(4) jj = swapi.get_person(36) for c in pm.get_characters().iter(): if c.name == jj.name: print("Why George, why.")
Python编写的Star Wars小游戏
最后,再与大家分享一个国外开发者用Python开发的星战相关游戏,希望大家喜欢。
这个游戏类似现在的跑酷,通过上下左右方向键控制。
是不是很酷!很赞!很期待!
本文向大家介绍python pygame实现球球大作战,包括了python pygame实现球球大作战的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python pygame球球大作战的具体代码,供大家参考,具体内容如下 球球大作战:(大球吃小球,代码如下:) 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍java实战之桌球小游戏,包括了java实战之桌球小游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java桌球小游戏的具体代码,供大家参考,具体内容如下 源码: 图片: 注意:images文件夹保持和src在同级目录下: 运行效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
很多小伙伴说,对WWDC上介绍Swift语言时,演示的那个“大炮打气球”的Ballons项目很感兴趣。 Ballons不但展现了playgrounds许多很赞的特性,还让我们看到写代码的过程,原来可以这么互动,这么好玩。 现在你可以下载这个Ballons.playground的教学版本,学习这些有趣的效果是怎么实现的。教学版本里除了源文件,还有相关说明文档,我们还出了一些小小的实验题,你可以动手修
Resource Planet 是一款点击、放置、收集资源的游戏。 点击试玩 https://static.oschina.net/trytry/resource-planet/
再困难的问题也有解决的方案,但这些方案却良莠不齐。 3.1 Spriting Spriting是一种将很多较小的图片合并成一张大图,再用JavaScript或者CSS将小图重新“切割”出来的技术。 网站可以利用这一技巧来达到提速的目的——在HTTP 1.1里,下载一张大图比下载100张小图快得多。 但是当某些页面只需要显示其中一两张小图时,这种缓存整张大图的方案就显得过于臃肿。同时,当缓存被清除的
本文向大家介绍python实现坦克大战,包括了python实现坦克大战的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现坦克大战的具体代码,供大家参考,具体内容如下 本游戏制作代码量较大 具体代码与图片声源可以在我的GitHub中下载 github地址 下面来看看然后利用python做一个坦克大战游戏 创建子弹类 创建敌军坦克 创建食物类 创建我的坦克 创建墙体类 主函