氢原子捣乱阵地-Google
make your life easier...
2012-08-18
等来的真爱,笔记本上的童话故事——恋恋笔记本
Drive中沉默寡言叼着根牙签的帅小伙,摇身一变成了恋恋笔记本中的Noah。冷酷的外表,似笑非笑的表情,加上看淡一切世事变化内心却如烈火般燃烧的性格,使得虽说是不一样的电影,不一样的故事,不一样的场景,但Ryan Gosling在其中的演绎却如出一辙。
Noah不爱说话,却写了365封信;没有挽留Allie的勇气,却花了7年时间实现了对Allie的许诺;不再期待与Allie重逢,却最终获得了相守一生的爱情。一个不知道自己到底需要什么的女人,只是将青春挥霍一番,然后离开;再思念、再痛苦也是当初自己的选择。影片将爱情中很现实的问题搬上银幕,又给了我们一个童话般的结局,让一群少男少女们看到落泪,感慨万千,对爱情充满向往,为爱情登上至高无上的领奖台提供一个冠冕堂皇的理由。
影片中的老人是特地为了不让我们认出他就是Noah,而演得跟Ryan Gosling完全不一样。这位慈祥的老人像在演着另外一部电影,憨态可掬的给红衣妇人讲笔记本上的童话。故事是想要表达几十年的朝夕相处任然没有改变Noah对Allie的爱;无法治愈的帕金森症也无法将Noah从Allie身边分开;相比年轻时现实的残酷,面对病症义无反顾在爱情中反而容易接受的多。又是一条提升思想,深化主题的线索。
只有在缺爱的年代里,播放歌颂爱情的电影,才会有人拍手叫好;而在无爱的现在,这样的美丽电影已经成了稀缺品。
2012-01-01
2011年观剧总结
应该是冬歇前这段观剧季节追的几部,之前春季的那部讲外星人入侵的也很好看,叫什么都忘了。。
1.The Walking Dead
僵尸越来越多,情节也比之前精彩很多。故事还是集中在一个地方展开的,有点《越狱》的感觉,地方很小,人物不少,每个人都有故事,都值得刻画。
2.Merlin
一直期待着亚瑟统一大不列颠的那一刻,最后竟然以Gwen当皇后作为结束。上一季有莫甘娜一步步变邪恶,这一季却没有谁有很明显的转变。
3.the Big Bang Theory
每一集都是笑笑而过了。可怜的Raj,什么时候才能找到你心中的白马王子。
4.Tero nova
中间几集让人打瞌睡,还好有个精彩的结局。一开始以为泰勒有什么不可告人的阴谋,看到最后发现貌似没那么回事。到这里就好了,再继续下去是要演LOST了么。。
5.Fringe
Peter才是男猪脚啊,男猪脚都隐形了的剧还能好到哪里去。。
6.吸血鬼日记
大D更性感了,大S也走男人不坏女人不爱路线了,小e还是万事操心,小t没了主见,小j长大了,主角多了个大,巫女的戏份被吸血鬼老爹抢了。
7.Person of Interest
追完着一季就不想再追下去,人物只有那几个,一会就把他们的故事都说完了。一集一个案件看着蛮累。
8.2 broke girls
看久了TBBT,转而看这部剧还是蛮合适的,口味比TBBT要重那么一点点。
9.Nikita
存了好久,最近才开始慢慢把落下的补回来。很佩服Pecy,关在笼子里任然操控这外界的一切。
10.The Secret Circle
追了3集,后面的等以后再慢慢补回来。女巫和男巫的故事还不知道亮点在哪里。
2011年观影总结
1.倩女幽魂
刘亦菲演小倩,很傻很呆。感觉跟张国荣版不是同一个故事,就不要拿来比较了。
2.加勒比海盗4:惊涛怪浪
约翰尼·德普在艰难的扛着这部剧?主要人物少了,情节也跟着缩水,还是把前三部作为我心中完美的“加勒比海盗三部曲”吧。
3.功夫熊猫2
鸭子生不出熊猫来。。在动画片里也一样。。
4.功夫熊猫:盖世五侠的秘密
一个讲述盖世五侠生世的小短片。
5.再见我们的幼儿园
童真啊。看小孩子演的电影就是冲着那份童真去的,但要是没有些成熟,就成了少儿节目了。这部片子恰到好处。
6.触不到的恋人
基努·李维斯除了黑客帝国,又一部好片子。
7.变形金刚3
迈克尔·贝在第三部也不得不运用大量特效来营造大场面了,都是阿凡达惹的祸。
8.哈利·波特与死亡圣器(下)
这部片也不枉我们追了十年,看着萌正太变成怪蜀黍。
9.超级八
并没有期待的那样精彩,一部很保守的科幻电影。
10.赛车总动员2
板牙才是这部片子的主角呀,哈哈。
11.源代码
就因为影片的名字,全世界的程序猿都疯狂了。这跟编程有半毛钱关系。
12.窃听风云2
一直期待这最后刘青云会因为那支票做出些什么来,但还是不了了之了。
13.钢的琴
他不是为女儿造琴,是为他自己。
14.X战警:第一战
看过X战警的人都会喜欢这部片子的。
15.BJ单身日记
我喜欢BJ一个人疯狂的样子。
16.季节变幻
其实挺希望他跟小提琴在一起的。
17.床边侦探
结局的突然遇见好感人啊。
18.白蛇传说
妖孽。
19.秘密
难以接受,跳着看完的。。父亲和女儿的。。故事。
20.猩球崛起
还记得以前的《科幻电影与未来时代》,每天放学回家吃晚饭的时候都要看。。难得的好片子,凯撒演的太棒了。
21.星空
一对好基友。
22.失恋33天
小gay直男化。。直接叫王络丹来演就好啦!
23.一天
只能说,男女之间没有长久的友谊。
24.宿醉
从头笑到尾。
25.宿醉2
不减宿醉1。
26.名侦探柯南:沉默的15分钟
剧场版跟TV版一样,都是没个头啊。
27.幸福额度
你说陈坤不是gay,谁信呀。
28.午夜巴黎
巴黎太美了。这部片子作为巴黎的宣传片再适合不过。
29.翻滚吧!阿信
2011年,每部片里都不能少了好基友。
30.那些年,我们一起追的女孩
本来一个好好的故事,唯美的片子,非要掺入一些拙劣的片段。
31.妮基塔
一个不同寻常的主角,使得片子也不同寻常。
32.死神来了5
死神来了5是前传?。。。最后的flight 180。。
33.波普先生的企鹅
哈哈哈,金·凯瑞,爱死了!各种类型的电影中,喜剧演员才是最需要演技的呀!
34.爱情与灵药
结局都已经不重要了,两个人能够在一起是需要多么大的勇气,不要太现实。
35.人猿星球
想想1968那样一个年代拍出的电影,就觉得这才是电影啊,很纯净的电影。
2011-09-01
2011年的几部电影(1-8月)
倩女幽魂 (2011)
以为会是很难熬的一个半小时,也许是期望很低所以失望很小。小倩一副呆滞的表情。
加勒比海盗4:惊涛怪浪 Pirates of the Caribbean: On Stranger Tides (2011)
人物缩水,剧情也不丰满,唯一刻画的只有那个牧师。跟前几部,特别是第三部比起来差太远了。加勒比前三部的爱情与自由去了哪里。
功夫熊猫2 Kung Fu Panda 2 (2011)
如果说中国的文化只能被外国人表现的如此传神,真是一大悲哀。
再见我们的幼儿园 さよならぼくたちのようちえん (2011)
小孩子之间的勇气与约定,长大的我们是不是就不能简单的拥有了。
触不到的恋人 The Lake House (2006)
为爱去等待,即使他们从来没见过面。而我们为什么做不来呢。
变形金刚3 Transformers: Dark of the Moon (2011)
Michael还能不能骄傲的说,这一部比上一部更好。模型、爆炸场面比上一部多、精彩,但没有什么记忆点。
哈利·波特与死亡圣器(下) Harry Potter and the Deathly Hallows: Part 2 (2011)
能坚持拍好8部电影真的很不容易,直到影片的最后,每个人物任然丰满。上一部(上)有什么意义么?应该是为了不影响大结局的质量,特地割出来的吧。。
超级八 Super 8 (2011)
一群长相奇特的人。
赛车总动员2 Cars 2 (2011)
主角从麦昆变为板牙真是明智。
源代码 Source Code (2011)
如果你们只能相爱8分钟,你会勇敢的去爱吗。
窃听风云2 (2011)
讲诉了一个故事。最后那张支票还是成了没被使用的道具。
钢的琴 (2011)
父女之间的感情被很刻意的描写。最后那架钢琴只是为他自己造的。为了证明什么,不知道。
X战警:第一战 X-Men: First Class (2011)
一部分人逃避自我,一部分人表现自我,Erik就是两者的结合。
2011-08-28
AS3用于服务器通讯的类中几个很有用的方法
//使用的时候像这个样子
public function sync(xindex:Number,yindex:Number):void
{
addProcessor(IO_SYNC_URL, processorSync, DataEvent.SYNC_RESULT, DataEventError.SYNC_ERROR);
var params:Object = new Object();
params["xi"] = xindex;
params["yi"] = yindex;
executeRequest(IO_SYNC_URL, getRequest(IO_SYNC_URL, params, URLRequestMethod.GET));
}
//这个函数返回带参数的URLRequest
private function getRequest(url:String, params:Object, requestMethod:String="GET"):URLRequest
{
var req:URLRequest = new URLRequest();
req.url = IO_BASE_URL+url+makeGETParamString(params);
req.method = requestMethod;
trace(req.url);
return req;
}
//这里注册事件,以及响应函数;那个serviceLoader、loaderMap是这样定义的
//private var serviceLoader:Dictionary = new Dictionary();
//private var loaderMap:Dictionary = new Dictionary();
private function addProcessor(name:String, dataProcess:Function, resultEventType:String, errorEventType:String):void
{
if (null == serviceLoader[name])
{
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE, loader_onComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, loader_onError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loader_onSecurityError);
serviceLoader[name]=loader;
loaderMap[loader]={dataFunc: dataProcess, resultEvent: resultEventType, errorEvent: errorEventType};
}
}
//这里就load了
private function executeRequest(name:String, req:URLRequest):void
{
var urlLoader:URLLoader = serviceLoader[name] as URLLoader;
urlLoader.load(req);
}
//这里是一些响应函数,最后触发定义好的事件
private function loader_onComplete(event:Event):void
{
var loader:URLLoader=event.target as URLLoader;
var processor:Object=loaderMap[loader];
var data:String = loader.data as String;
if(data.toString()=="oauthlost"){
var req:URLRequest = new URLRequest(FLASH_URL);
navigateToURL(req,"_self");
/*var ioError:DataEventError = new DataEventError(processor.errorEvent);
ioError.message = "get map error";
dispatchEvent(ioError);*/
return;
}else{
var e:DataEvent = new DataEvent(processor.resultEvent);
e.result = processor.dataFunc(data);
dispatchEvent(e);
}
}
private function loader_onError(event:IOErrorEvent):void
{
var loader:URLLoader=event.target as URLLoader;
var processor:Object=loaderMap[loader];
var error:DataEventError=new DataEventError(processor.errorEvent);
error.message=event.text;
dispatchEvent(error);
}
private function loader_onSecurityError(event:SecurityErrorEvent):void
{
dispatchEvent(event);
}
private function makeGETParamString(parameters:Object):String
{
var paramStr:String=makeParamsToUrlString(parameters);
if (paramStr.length > 0)
{
paramStr="?" + paramStr + "&r=" + Math.random();
}else{
paramStr="?r=" + Math.random();
}
return paramStr;
}
private function makeParamsToUrlString(params:Object):String
{
var retParams:Array=[];
for (var param:String in params)
{
retParams.push(param + "=" + params[param].toString());
}
retParams.sort();
return retParams.join("&");
}
public function sync(xindex:Number,yindex:Number):void
{
addProcessor(IO_SYNC_URL, processorSync, DataEvent.SYNC_RESULT, DataEventError.SYNC_ERROR);
var params:Object = new Object();
params["xi"] = xindex;
params["yi"] = yindex;
executeRequest(IO_SYNC_URL, getRequest(IO_SYNC_URL, params, URLRequestMethod.GET));
}
//这个函数返回带参数的URLRequest
private function getRequest(url:String, params:Object, requestMethod:String="GET"):URLRequest
{
var req:URLRequest = new URLRequest();
req.url = IO_BASE_URL+url+makeGETParamString(params);
req.method = requestMethod;
trace(req.url);
return req;
}
//这里注册事件,以及响应函数;那个serviceLoader、loaderMap是这样定义的
//private var serviceLoader:Dictionary = new Dictionary();
//private var loaderMap:Dictionary = new Dictionary();
private function addProcessor(name:String, dataProcess:Function, resultEventType:String, errorEventType:String):void
{
if (null == serviceLoader[name])
{
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE, loader_onComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, loader_onError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loader_onSecurityError);
serviceLoader[name]=loader;
loaderMap[loader]={dataFunc: dataProcess, resultEvent: resultEventType, errorEvent: errorEventType};
}
}
//这里就load了
private function executeRequest(name:String, req:URLRequest):void
{
var urlLoader:URLLoader = serviceLoader[name] as URLLoader;
urlLoader.load(req);
}
//这里是一些响应函数,最后触发定义好的事件
private function loader_onComplete(event:Event):void
{
var loader:URLLoader=event.target as URLLoader;
var processor:Object=loaderMap[loader];
var data:String = loader.data as String;
if(data.toString()=="oauthlost"){
var req:URLRequest = new URLRequest(FLASH_URL);
navigateToURL(req,"_self");
/*var ioError:DataEventError = new DataEventError(processor.errorEvent);
ioError.message = "get map error";
dispatchEvent(ioError);*/
return;
}else{
var e:DataEvent = new DataEvent(processor.resultEvent);
e.result = processor.dataFunc(data);
dispatchEvent(e);
}
}
private function loader_onError(event:IOErrorEvent):void
{
var loader:URLLoader=event.target as URLLoader;
var processor:Object=loaderMap[loader];
var error:DataEventError=new DataEventError(processor.errorEvent);
error.message=event.text;
dispatchEvent(error);
}
private function loader_onSecurityError(event:SecurityErrorEvent):void
{
dispatchEvent(event);
}
private function makeGETParamString(parameters:Object):String
{
var paramStr:String=makeParamsToUrlString(parameters);
if (paramStr.length > 0)
{
paramStr="?" + paramStr + "&r=" + Math.random();
}else{
paramStr="?r=" + Math.random();
}
return paramStr;
}
private function makeParamsToUrlString(params:Object):String
{
var retParams:Array=[];
for (var param:String in params)
{
retParams.push(param + "=" + params[param].toString());
}
retParams.sort();
return retParams.join("&");
}
2011-08-21
2011-06-30
Subscribe to:
Posts (Atom)














