按月归档:2011年七月月

Android用摄像头的那点破事(续)

摄像头上次讲的是摄像头的初始化,如果觉得这么就万事OK的话,那就大错特错了。接下来的东西让人感到更加头痛。

在我的这个应用里,不需要把拍下来的图片存储,只需要把预览的图片数据处理一下就好,很自然的我只是用了onPreviewFrame调用,考虑处理传递进来的data数据流就是了。

网上很多帖子都说,然后用BitmapFactory的decodeByteArray()函数来解析图片就行了,我试了一下,发现这真是彻头彻尾的谎言,data字节流默认是YCbCr_420_SP(虽然可以改,但其他的格式未必兼容),decodeByteArray()压根儿不认!SDK2.2之后,似乎提供了一个YuvImage的类来转一下(那Google一开始提供这个借口是做什么的?),难道就要把老机给抛弃了么??万万不能啊(穷人最理解穷人们了)!

好在这个世界总是不缺少好人和牛人的,有人提供了这么一段转换的代码:
更多

Android用摄像头的那点破事

摄像头这两天玩Android玩的废寝忘食,Blog都好几天没加东西了,惭愧!记录一下这两天最崩溃的一个问题。

好早就装了开发环境,真正着手还是这两天,非常的生疏,虽然有SDK文档,那么多蚊子一般的字,实在没心思慢慢研究。这不想调用摄像头,原以为很容易就能搞定的,累计花了大概有一天的时间才只能保证不出错……至于效果嘛,难说啊!

先看API-examples里有调用 摄像头的例子,在模拟器上虽然看不出什么效果,毕竟还是能执行的,就是一个方块在黑白相间的背景上移动呗。

就这么一个Google提供的范例,传到我的HTC G2上也能一执行就报错,我对Google的尊敬之情顿时减少了0.0001%啊……(当然有可能是G2不够标准,但毕竟其他的软件都是能用的,看来是有不少健壮代码了啊)。联机调试看了一下,出错的这一行(android-7里的):

查一下,摄像头不是所有随便的(w, h)都能够认识的,所以呢,我们有了下面这样的增强版:
更多

Android上Mac样式的按钮

最近试着玩玩Android开发,做一个小玩意儿的时候,总感觉默认的按钮样式太糟糕,看到网上几幅IPhone截图,觉得按钮有点感觉,就想着抄一个过来……相当的没有技术含量,只不过记性不好,记录一下。

PhotoShop上的准备

用简单的方法,设置background图片。

  1. 先渐变填充圆角矩形(半径4左右),渐变的首尾颜色自己定好了,不过过渡位置我试了下,大约是上图1所示,在40%和60%增加两个色标,值为首尾之差的1/3和2/3。
  2. 做出立体效果和阴影,如2所示
  3. 做出边框线,如3所示
  4. 然后调两个亮一点和暗一点的(没用过IPhone不知道有焦点和按下时什么样子我这里就偷懒弄个明暗变化)按钮。

应用到按钮上

在drawable里定义一个式样文件

然后按钮的background指向它,这就完了~~

追记

后来看到一种完全用XML定义按钮的方法,靠谱,虽然变化好像有些单调,但可以不用图片毕竟是好事,先记录一下方法,有空试试~

用Python和Pygame写游戏-从入门到精通(Sprite篇)

这又是Pygame教程系列的一个——OVA篇,类似于py2exe篇一样,额外写的,也许不是pygame游戏开发必须的东西,但是知道了绝对大有裨益。因此友情大放送~

看pygame模块介绍的时候,细心的人会发现有一个pygame.sprite模块,而在讲动画的时候,虽然引入了精灵这个概念,却没有使用这个模块。在官方文档上也说了,这个模块是轻量级的,在游戏开发中也未必要使用。讲解动画的时候为了避免太多新东西,直接把一个surface画来画去,难道没有人觉得不和谐么:)我们这次试着使用Sprite把动画变的更简单一些(不过这里没有使用GameObjects,两者结合更健康~)。

“sprite”,中文翻译“精灵”,在游戏动画一般是指一个独立运动的画面元素,在pygame中,就可以是一个带有图像(Surface)和大小位置(Rect)的对象。 精灵特别适合用在OO语言中,比如Python。

pygame.sprite.Sprite是pygame精灵的基类,一般来说,你总是需要写一个自己的精灵类继承一下它然后加入自己的代码。举个例子:

那一大堆的字符串,相信懂Python的人会明白的,不明白的请去查阅一下base64编码和Python对应的StringIO、base64库。我这里使用这种方法而不是直接读取文件,只是想告诉大家pygame.image.load方法不仅仅可以读取文件,也可以读取文件对象。是不是感觉一下子思路开阔了?Python那么多方便的文件对象,以后游戏的资源文件就可以不用一一独立放出来了,使用zipfile,我们很容易就可以把资源文件打包起来,这样看起来咱的游戏可就专业多了~这是后话,以后有机会再讲。

而本例没有直接画一个圆,而是使用用了颜色混合的方法,这样可以画出有立体感的球体,效果如左图。而上面一大堆的字符串,其实就是那个球体的图像文件编码以后的东西。这个和本教程没啥大联系,请自行学习光与色的知识……

但是但是,看了上面的代码大家一定会有意见了,这样感觉比直接用Surface写的代码还多啊!一点好处都没有的样子。确实会有这样的错觉,但是一个球看不出好处来,多个球呢?我们就可以这么写了:
更多

家に帰ると妻が必ず死んだふりをしています

首先是一个视频

关于它的来历,这个最初来源于Yahoo!知惠袋的一个提问,后来被改编成了歌曲,很流行,因为它真的很感人。这个问题去年8月就解决了,网上肯定已经传了很久了,不过还是拿过来,分享给大家。

看视频也可以明白个大概了,这里翻译一下这个问题和回答,着实有趣的很。

家に帰ると妻が必ず死んだふりをしています。
一回家老婆总是在装死
家に帰ると妻が必ず死んだふりをしています。どういうことなのでしょうか?
每次回家,老婆总是在装死,到底是怎么了?

家に帰り玄関を開けると妻が倒れていました。
回到家一打开门,妻子就倒下了。
最初は驚きましたが毎日やるので
刚开始吓了一跳,后天每天都看到
ほら起きてと流すようになりました。
“喂,快起来”就这样无视了。
すると翌日は口から血を流しており、
然后第二天,就是口吐鲜血
1週間後は白いTシャツが血まみれだったり
一周后,则是洁白的T恤上沾满了鲜血
最近ではネタがなくなったのか?
最近是不是有些技穷了?
または煮詰まりすぎて思考が狂ってきたのか?
或者是到了尽头开始思维暴走了?
頭に弓矢が突き抜けていたり、
在头上插上箭矢
ビニール袋を被っていたり(息してるので思いっきり袋が伸縮している)
蒙上塑料袋(因为有呼吸袋子还在一鼓一缩的)
昨日は軍服を着て銃を抱えたまま名誉の戦死を遂げていました。
昨天是穿着军装抱着枪英勇牺牲了
もちろん妻の横を素通りしています。
自然的,我只是从“尸体”旁走了过去
妻はどうして欲しいのか?
老婆到底想要什么?
そしてこの先どこに行きたいのか?
以后还会使什么手段啊?
全く分かりません。誰か教えてください。
完全不知道啊,谁来告诉我。

この間など頭に弓矢が貫通したまま
就是现在,都是头上插着箭
夕飯を作っていました。
一边在做着晚饭

楼主的问题补充:
多くの回答で驚いています。
有这么多人回答吓了一跳。
春先でしたかダイイングメッセージで「かつお」と書かれており、
刚开春的时候吧,她留了一个“鲣鱼”的临死讯息
今日はかつおのたたきとわかったので食事中今日のは機能的でよいと褒めたこともあります。
然后明白了那天是吃鲣鱼松表扬了一下她今天的行动还有有点意义的
しかし翌日ピエロ(ドナルド)が倒れていました。
然后第二天一个小丑(唐老鸭)就倒在了那里。
すぐ調子に乗ります。
立马尾巴翘上去了呀。
メイク落とすの手伝い大変です。
帮她卸妆也很麻烦
軍服はアーミーショップで揃えたようです。
军装好像也是在动玩店里买的
無駄遣いしないようにと注意しましたら今日はお手製のワニと思われる生き物に食べられていました。
让她不要买没用的东西,然后今天就在吃一个自己制作的好似鳄鱼的东西。

选中的一个回答:
矢が頭に突き抜けている、一体どうやってしたのか教えて欲しいです。
头上可以插箭,到底怎么做到的好想知道。

お手製のワニ・・・
手工做的鳄鱼。。。

可愛すぎる奥さんですね。
夫人太可爱了
毎日働いて疲れて帰宅するだんなさんを少しでも癒してあげたいのかな?
希望能够温暖一下疲劳回到家的丈夫吧?
素敵な発想だと思います。
我觉得这是非常棒的想法

奥さんは、あなたが少しでも笑った顔が見れたら嬉しいんじゃないかなと思います。
您只要稍微笑一下,您的妻子就会非常高兴吧
この先奥さんがどこに行きたいのか・・・それは私にも分かりかねますね・・・奥様未知数です。笑
至于以后还可以怎样……完全不知道啊……您夫人就是一个谜:)

とにかく、きっと少しでもあなたと奥様は毎日新鮮で楽しい生活を送りたいのだろうと思います。
不管怎样,夫人一定是想给每天的生活增加一点快色的色彩
だからそれなりに奥様なりに一生懸命考えた末でのことだろうと。
而这些就是您夫人考虑出来的方法吧
奥様は本当に素敵な方だと思いますよ^^
您妻子实在太伟大了^^

私もそんな奥さん目指してがんばります!笑
我也要努力向她学习:)
奥さんによろしくお伝えください!
请代为向尊夫人为好!
これからも末永くお幸せに^^♪
祝你们永远幸福!

下面其他的回答大多都是说这样很可爱、很幸福,难道说,只有楼主不知道自己正在幸福中么~~不过这么多人说明,想来也应该开窍了吧。

用Python和Pygame写游戏-从入门到精通(16)

经历了长年的艰苦卓绝的披星戴月的惨绝人寰的跋山涉水,我们终于接近了AI之旅的尾声(好吧,实际上我们这才是刚刚开始)。这一次真正展示一下这几回辛勤工作的结果,最后的画面会是这个样子:

蚁巢系统AI演示

下面给出完整代码(注意需要gameobjects库才可以运行,参考之前的向量篇):
更多

那个一碰就卷的虫儿

最近大概是雨下的多了,家里多了好多那种虫子,背上光光的,小脚很多,一碰就卷成一个球儿,可以一下踢好远。

想到前段时间看借物小人的时候,就看到アリエッティ无聊的时候抱起一只,立刻卷成球,绝好的玩具,真是 可爱啊:)

西瓜虫

小时候就有很多这样的虫子,一下子居然忘了叫什么名字了……只好谷歌(网络依赖症啊依赖症,失去了思考和记忆的能力了),竟然是叫鼠妇,啥名字啊~~然后自然而然就想到我们这里方言叫“西瓜虫”的。再调查,原来根本就不是虫啊,它有七对足,算是甲壳动物的一种,还是唯一的完全适应陆地生活的甲壳动物,生活中随处可见的这小动物,没想到还是甲壳动物里的战斗机啊。

鼠妇用腮呼吸,而腮只能在湿润的环境中运作,所以鼠妇居住在潮湿的地方。从海边一直到海拔5000米左右的高地都有它们的分布,牛!昼伏夜出,怕光还特别会装死。

网上还有详细的诱捕和饲养方法,汗,大概是因为中药可用的关系吧,利尿止痛啥的……

虽然看到它一下子变成球还是挺好玩的,灰灰的颜色让我提不起精神来。但是还是有人喜欢的,摘自人民网的一片文章,这虫要是颜色再漂亮一点(金龟子那样),估计就没好日子过了。

——————————————————————-
童年时代担任班干部的女生,多半受过男生欺负。顽童想得出来的恶作剧,无外乎拉拉辫子,或是剪掉女生几根头发,还有就是抓了虫子吓唬人。后面一条很奏效,我就经常被各种各样奇形怪状的虫子吓得魂飞魄散。有一次他们抓了一只特大独角仙放在铅笔盒里,当时就差点把我吓撅过去,直哭了十来分钟还没停歇。男生们一看大事不好,老师马上来了,少不了一顿臭骂。就有聪明人灵机一动,从口袋里掏出两个小东西,放在我课桌上,说是给我好玩的虫子,一点不吓人,求我别哭了。
那是我第一次和西瓜虫面对面。
西瓜虫比西瓜小太多了,不过一厘米多点,只是因为该虫有装死的本能,一受惊扰,立刻蜷缩身体呈球状,看上去就像一枚微型西瓜。这样迷你可爱又兼毫无攻击力的小虫子,当然有资格成为调皮孩子最爱的天然玩具。我立刻好了伤疤忘了疼,捧着两个西瓜虫兴致勃勃地玩耍起来,完全忘记了刚才痛哭流涕的惨状。顺便提一句,贪玩的代价是惨痛的,我玩了整整一堂课的西瓜虫,在临下课前两分钟被老师逮个正着。老师亲眼目睹我的“堕落”,简直痛心疾首,不仅当着全班的面把我劈头盖脸骂了一通,还把两只西瓜虫扔出窗外。还好还好,下了课再跑出去看,那两只傻家伙还抱成团一动不动呢。
从此一发不可收拾,天天伙同狐朋狗友跑学校花园去找西瓜虫,找到的西瓜虫按从大到小排好队,参加名目众多的各项比赛。比方说比大小,比谁先缩成团,甚至还有比赛跑步,当然西瓜虫怎么跑也跑不快,屁股一扭一扭的样子反倒成了我们的乐趣。书上说西瓜虫学名鼠妇,真不知道这个名字是怎么来的,顾名思义,鼠妇者,大概是雄性鼠类之异性伴侣吧?真是莫名其妙。更让我们百思不得其解的,是老师和父母几乎都异口同声地告我们,西瓜虫是害虫哦,会把很多蔬菜的根啃坏,这种东西,你们怎么可以玩呢。
奇怪,害虫的身份和西瓜虫本身的好玩似乎没有矛盾啊。更何况,我从来不以为少吃点蔬菜会有什么不妥,可是少玩一天西瓜虫,我一定会浑身乏力……这也许就是只有孩子才有的单纯想法,反正,现在已经没有一样事物,有让我不吃蔬菜的魅力了。
—————————————————————

记得小时候的西瓜虫变成球以后,好半天才会回复的,现在感觉快了很多,学乖了么?装死对大家来说都无用了,还是快快起来逃命好使。

顺便说下鼠妇这个名字的来历,并不是文章里猜测的雄性老鼠的伴侣的意思(古人再没脑子也没这么不济啊)。因为它们同老鼠一样,都生活在阴暗的角落,活动过程中不经意地就会碰到或爬到老鼠的背上所以叫做「鼠负」。而后来之所以从「鼠负」转成「鼠妇」,居然是传说吃了鼠负做的中药之后的男人会渴望亲近女人,因此就变成「鼠妇」这个名称了。天哪,这一定是借口……

用Python和Pygame写游戏-从入门到精通(15)

在继续我们的AI之旅前,分享一个在煎蛋上看到的有趣新闻,能通过读说明书来学习的AI,这个世界真是变得越来越不可琢磨啦!机器人很快就要超越咱了……

因为这一次是接着上面的内容的,所以请不要跳过直接看这里。

哭!!!写完了上传出错,丢失啊,重伤重写~~~~~~~~~~~

蚂蚁实例类

在我们正式建造大脑之前,我们得先做一个蚂蚁类出来,就是下面的这个,从GameEntity继承而来:
更多

VC版极影开发手记

更新日志:
1:2011/07/12,初始版本。
2:2011/07/15,更改外观,现在看起来更VC了,增加内容介绍项目。

这是一篇对“VC版极影”的技术说明文章,一般用户请移步至使用讨论页面查看/提出问题和建议。

VC版极影这个东西说来话长,我是用惯了VeryCD的人。看上面的动漫,一般一个新番就跟着一个字幕组走(否则翻译乱糟糟),本来的方法是用收藏夹把正在连载的项目都收藏起来,然后每天晚上回去,把收藏夹里的内容全部打开(多的时候2、30个吧,那时候还在用遨游这个常年假死的浏览器……),一个一个检查,相对麻烦。后来VeryCD有了收藏夹功能,只要收藏一下,有了更新自然会得到通知,很好很强大!

就这样用了很多年,慢慢的我发现,虽然我把VC上所有的节目都看过了,偶尔逛一下论坛还是会发现很多自己都没听过的新番,然后就明白了,VC原来是个非常和谐的地方,稍微有点少儿不宜的作品是没法放上去的……这以后我就时不时到极影去搜罗一下,看到什么感兴趣的也下下来观摩一下。可惜极影的作品发表太乱了,各个字幕组的作品都混在在一起,要不停的使用搜索排序才能搞定,所以一直没法彻底转移过去。

突然有一天,电驴大全出现了……整个VC变得我都不认识了,想着是不是去适应一下,后来发现貌似上面投递作品的字幕组都变少了,烂尾的变多了。这才想着,要不彻底转战极影吧~虽然极影没有VC那种方便的收藏功能,咱自己做一个不就好了?这就是VC版极影的诞生由来。

开发语言: PHP+MYSQL+Javascript(jQuery)
编辑工具: Vim
调试工具: XAMPP,Firefox+Firebug

更多