游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4445|回复: 3

最近越来越发现,程序开始动态化了

[复制链接]

7

主题

11

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2007-4-4 12:54:00 | 显示全部楼层 |阅读模式

最近越来越发现,程序开始动态化了

其实听说动态语言(脚本语言)已经很久了。可一直没有去学习它,我想最大的原因应该是不知道这个东东到底有什么好处吧!

最近,在看一本叫PYTHON的书,英文版的。也就漫漫接触了一下,看了一下,停简单的,解释执行,还必须安装一个SHELL。有点和BASIC差不多。

初看以为这是为小学生研究的语言,和那个有名的LOGO差不多,但一些大师级别的人老是在那里说PYTHON有多么多么的好,可以提高开发效率,但一直没发现它到底有多大威力。

因为,我一直在想如何将原来用C++写的东西全部脚本化,这是这几年的趋势,你可以环顾一下四周,几乎任何一个游戏引擎都有多个脚本接口。

并且还出现了全部用脚本实现的游戏,比如传说中的《大话西游》,听说全部由LUA实现。Luxinia,用OPENGL,OPENAL和LUA实现,pygame  用SDL,PYTHON实现。

现阶段最流行的动态语言有LUA,PYTHON,PEER等,但在游戏中使用的最多的是LUA,看了一下介绍,LUA本来就是适合嵌入式的,但中文文档较少,而PYTHON就不一样了,可以说是最通用的脚本语言,在任何应用中都可以见到他的身影。

所以就选择这个开刀,毕竟运用面广,不象LUA。

安装好PYTHON环境后,下载了PYGAME。(这一切的安装都很简单,所以就不介绍了)

按照PYGAME的教程实现第一个程序,一个流动的图片,让你侃侃PYTHON的语言有多简单:

import sys,pygame
pygame.init()

size = width,height = 800,600
speed = [2,2]
black = 255,0,0

screen = pygame.display.set_mode(size)

ball = pygame.image.load("cython25examplemy.jpg")
ballrect = ball.get_rect()

while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT: sys.exit()

    ballrect = ballrect.move(speed)
    if ballrect.left < 0 or ballrect.right > width:
       speed[0] = -speed[0]
    if ballrect.top < 0 or ballrect.bottom > height:
       speed[1] = -speed[1]

    screen.fill(black)
    screen.blit(ball,ballrect)
    pygame.display.flip()      

效率是挺高的,看来以后要好好的学习学习!

sf_20074412542.jpg

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2007-4-4 15:08:00 | 显示全部楼层

Re:最近越来越发现,程序开始动态化了

老外喜欢,新手喜欢

但效率不敢恭维

7

主题

11

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2007-4-4 17:36:00 | 显示全部楼层

Re:最近越来越发现,程序开始动态化了

我玩过用PYGAME写的游戏,最后都转化成了可执行文件。执行速度和C++写的差不多。
至于效率,本来动态语言的作用就是提高开发效率的。

0

主题

199

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2007-4-4 17:50:00 | 显示全部楼层

Re:最近越来越发现,程序开始动态化了

脚本语言也有脚本语言的问题
不过脚本语言得到越来越多的运用是肯定的,终究现在机器速度快了,对执行效率没有那么高的要求了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-4-12 15:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表