欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

【精髓推荐】使用moblin开发应用程序 - clutter之actor与stage

更新时间: 2014-01-05 02:47:18 责任编辑: Author_N1

 

【精华推荐】使用Moblin开发应用程序 -- Clutter之Actor与Stage
微软Surface推出后,其中的图片与视频浏览器让人留下了比较深刻的印象。借着学习clutter的机会,我就打算做一个类似的图片浏览器。逛了clutter的网站后发现,clutter居然有python binding,于是决定使用pyclutter进行程序的开发。

第一个demo很简单:将一堆照片随意放在桌面上。J

这次会接触到2个有关clutter的概念:Actor和Stage。Actor和Stage,顾名思义,演员与舞台。没错,从本质上讲,clutter就是让一群2维的Actor在3维的Stage上表演。ClutterActor是所有Actor的父类,它是一个抽象类,提供一些Actor的通用的操作,如位移、旋转、缩放等。用户在编程中可以继承ClutterActor以开发自定义的Actor,也可以使用Clutter现有的一些Actor,如ClutterRectangle、ClutterTexture、ClutterCloneTexture、ClutterLabel、ClutterEntry等。同时,Clutter中也有些容器类,如ClutterStage和ClutterGroup,它们也是ClutterActor的子类。

在这个demo中,我们将会用到ClutterStage、ClutterGroup、ClutterRectangle和ClutterTexture。Demo的源代码如下:

#!/usr/bin/python

 

import sys

import os

import random

 

import clutter

 

STAGE_WIDTH=1024

STAGE_HEIGHT=768

 

class Photo:

  border_width = 10

  

       def __init__(self, path, stage):

              self.stage = stage

              self.path = path

              self.x = 0

              self.y = 0

              self.degree = 0

 

              self.pic = clutter.Texture()

              self.pic.set_from_file(path)

              self.width = self.pic.get_width()+2*Photo.border_width

              self.height = self.pic.get_height()+2*Photo.border_width             

              

              self.frame = clutter.Rectangle()

              self.frame.set_color(clutter.Color(0xff, 0xff, 0xff, 0xff))

              self.frame.set_position(self.x, self.y)

              self.frame.set_size(self.width, self.height)

 

              self.group = clutter.Group()

              self.group.add(self.frame)

              self.group.add(self.pic)

              self.pic.set_position(PHOTO_BORDER_WIDTH, PHOTO_BORDER_WIDTH)

              

              self.stage.add(self.group)     

              
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:47:18
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/14410/
本文WWW.DOC100.NET DOC100.NET版权所有。