Webgame编程从入门到精通

星期六, 2012-05-05 | Author: Lee | webgame | 没有评论

先说下,有点标题党了,摘录于webgame研究室讨论群
本总结原来总结于 2008年,今天翻出来还是有一定的指导意义的,除了在程序方面分了前端和后端,其他还是相当有意义的
标注 部分 为本人根据现在情况进行的跟进分析.
精通路径如下:

1. 潜心学习一门适合于做web的语言。以ASP,PHP,JSP,3P技术其中任意一门即可。
学会了再说,否则免谈。
注:就目前的情况已经分出
i.前端 (FLASH即AS(为主) 或者 unity3d 等)
ii.服务端 (基于http协议的3P或者基于 TCP 的c/c++/java等)
一人独揽整个系统的能力被大大放大了,需要团队紧密配合了

2. 专研一种数据库产品,以mssql , mysql , oracle其中任意一种即可。
学会了继续,否则免谈。
注:如果足够牛,用文件 xml等也可以实现,我看很多做端游 转过来的,还不是以数据库为主要驱动

3. 考验自己。如果能随手就做个小型的交互式网站,完成一定规模的任务。那就差不多可以做个入门级的Webgame了。
能干了继续,否则免谈。

4. 专研数据结构和算法。游戏是对世界的模拟,数据是世界的抽象,规则是运行的约束。
这一切都是算法和数据结构。
如果你看不到游戏运行的本质,还是继续免谈。

5. 深刻思考游戏编程的机理。游戏也是软件,从工程学的角度来说,你需要一个范围,需要完成一些功能,需要划分软件层次,需要组织编码。
如果你要投入编程,请用软件工程的策略认真思考问题。否则免谈。
› Continue reading

Tags: , , ,

升级AVD引发andriod工程始终有个错误Failed to load properties file for project解决方法

星期六, 2012-04-14 | Author: Lee | Android | 没有评论

昨天做了个andriod应用,快完工的时候,一高兴升级了下AVD,然后我就悲剧了,工程始终有个红叉叉的错误,但是又看不出哪里有错误,

造成不能编译andriod工程,生成不了对应的apk文件,整个一个悲剧;

解决之法:
1.设置ANDROID_SDK_HOME环境变量(android sdk安装目录)可以解决
2.备份原来的工程,然后删除该工程,再重建该工程 clean 下(这个做java的应该都很清楚了)
3.运行工程就正常了,后续还要重新设置个新的AVD name
4.世界就安静了

Tags: , , , , ,

jquery moblie 按钮图标那点事

星期四, 2012-04-12 | Author: Lee | html5, pagemaker | 一条评论

记忆力不好记不住jqm图标的样子,做此文图文对照,很方便自己知道是什么图如下(系统提供的18个图标):本文参照api摘录版:

<a href="index.html" data-role="button" data-icon="delete" data-iconpos="right">Delete</a>
 
data-icon属性可以被用来创建如下所示的图标
左箭头 	data-icon="arrow-l"
右箭头 	data-icon="arrow-r"
上箭头 	data-icon="arrow-u"
下箭头 	data-icon="arrow-d"
删除   	data-icon="delete"
添加 	data-icon="plus"
减少 	data-icon="minus"
检查 	data-icon="check"
齿轮 	data-icon="gear"
刷新    data-icon="refresh"
前进 	data-icon="forward"
后退 	data-icon="back"
网格 	data-icon="grid"
五角星 	data-icon="star"
警告 	data-icon="alert"
信息 	data-icon="info"
首页 	data-icon="home"
搜索 	data-icon="search"

› Continue reading

Tags: , , , ,

javascript判断变量是否定义(undefined)转换函数

星期四, 2012-04-12 | Author: Lee | ajax, html5 | 没有评论

在处理html5的页面取值的时候,发现当取不到的时候报错,js程序不再执行,直接写个修正函数处理
如下:

//修正未定义的变量
function checkUnfined(value){
	if(typeof(value)=='undefined'){
	return "";	
	}
	return value;	
}

话说判断是否未定义也是很常用的东东

Tags: , , ,

jquery mobile动态添加元素之后不能正确渲染解决方法(listview和div html 元素)

星期日, 2012-04-08 | Author: Lee | html5, pagemaker | 没有评论

问题就不描述了,ajax处理玩数据对于按钮等操作都没有被渲染,需要调用jqm的css去渲染,方法如下:
一:对于listview: $(‘ul’).listview(‘refresh’);
二:对于div或其他: $(‘allAddContent’).trigger( “create” );

1.
var list = $("<li><a href='//www.pomelolee.com'>Pomelo Lee-"+i+"</a></li>");
  $("#listShow").append(list).find("li:last").hide();
  $('ul').listview('refresh');
html 如下:
<div data-role="content">
        <ul data-role="listview" id="listShow" data-inset="true">
          <li><a href="#">html5</a> </li>
          <li><a href="#">css</a></li>
        </ul>
      </div>
2.
var allAddCon="<a href=\"javascript:goto('i5a6?id="+data.rows[i-1].id+"')\"; data-role='button' data-theme='b'>Pomelo Lee网络</a>";
$("#allAddContent").html(allAddCon).trigger( "create" );;

Tags: , , ,

Eclipse之java was started but returned exit code 1报错并退出的解决方法

星期三, 2012-04-04 | Author: Lee | JAVA-and-J2EE | 3 Comments

今天正在用eclipse处理程序的时候突然报了个java was started but returned exit code 1,提示后就退出了,上网查询修改eclipse.ini即可.
本人环境为win7的64位系统,jdk为1.6.0_20:
解决之法:(安装目录eclipse.ini文件)
1.修改最大内存数-Xmx384m 为 -Xmx1024m (本人情况为因为最大内存过小)

2.按照1如果还不行,再配置
-vm
C:\Java\JDK\1.6\bin\javaw.exe
-vmargs
注意点:-vm 都分别各占一行,且此配置要在-vmargs上面

延伸阅读:eclipse.ini文件的说明(http://wiki.eclipse.org/Eclipse.ini)
异常图片截图记录:
› Continue reading

Tags: , ,

php判断常用上传文件类型,自动获取文件扩展名

星期四, 2012-03-29 | Author: Lee | php | 没有评论

在用php进行文件上传的时候总要判断文件的扩展名名等进行是否允许操作,经测试记录比较常用的文件类型,
记录如下,如有不全,希望能补正修改,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
switch    ($_FILES['userupfile']['type'])   
   {     
   case    "image/jpeg":     
   $fileextname    =    "jpg";     
   break;  
    case    "image/pjpeg":     
   $fileextname    =    "jpg";     
   break;    
   case    "image/gif":     
   $fileextname    =    "gif";     
   break;     
   case    "image/png":     
   $fileextname    =    "png";     
   break; 
   case    "image/x-png":     
   $fileextname    =    "png";     
   break; 
    case    "image/bmp":     
   $fileextname    =    "bmp";     
   break;    
   case    "application/x-shockwave-flash":     
   $fileextname    =    "swf";     
   break;     
   case    "text/plain":     
   $fileextname    =    "txt";     
   break;     
   case    "application/msword":     
   $fileextname    =    "doc";     
   break;     
   case    "application/x-zip-compressed":     
   $fileextname    =    "zip";     
   break; 
   case    "application/vnd.ms-excel":     
   $fileextname    =    "xls";     
   break; 
   case    "application/vnd.openxmlformats-officedocument.wordprocessingml.document":     
   $fileextname    =    "docx";     
   break; 
   case    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":     
   $fileextname    =    "xlsx";     
   break; 
   case    "application/pdf":     
   $fileextname    =    "pdf";     
   break;   
 
   }

Tags: , , ,

apache,nginx反向代理出现内网ip解决方法

星期四, 2012-02-23 | Author: Lee | JAVA-and-J2EE, linux | 没有评论

apache中设置如下反向代理后端的tomcat出现
request.getServerName();获取到的主机名称就会是localhost,解决这个

<VirtualHost *:80>
    ServerAdmin service@i5a6.com
    DocumentRoot /usr/local/apache/htdocs
    ServerName i5a6.com
    ServerAlias *.i5a6.com
     DirectoryIndex  index.html  index.html.var  index.jsp
     ProxyPass / http://localhost:8080/
     ProxyPassReverse / http://localhost:8080/
     ErrorLog "logs/hscode-error.log"
     CustomLog "logs/hscode-access.log" common
</VirtualHost>

在httpd.conf 文件中增加:
ProxyPreserveHost On 即可

对应的nginx 也有此问题解决之法:
proxy_set_header Host $host;

upstream mytomcat{
 #server 127.0.0.1:8000 weight=3;
 #server 127.0.0.1:8001;
 #server 127.0.0.1:8002;
 server 127.0.0.1:8080;
 }
 
server
{
listen 80;
server_name i5a6.com *.i5a6.com;
index index.html index.htm ;
root /usr/local/data/htdocs/www;
 
location / {
# proxy_set_header Host %host;
# proxy_set_header X-Forwarded-For $remote_addr;
 proxy_pass http://mytomcat;
proxy_set_header Host $host;
 }

Tags: , , , ,

apache反向代理集群,实现负载均衡,编译mod_proxy模块

星期三, 2012-02-22 | Author: Lee | JAVA-and-J2EE, linux | 一条评论

利用apache和tomcat做集群,有好几种方式,另一种见apache tomcat 负载均衡集群和session复制 基于jk
本文是使用代理的模式;
一:查看是否有mod_proxy模块功能
[i5a6]# /usr/local/apache/bin/httpd -l
可以看到是否有mod_proxy的模块,直接去 /usr/local/apache/modules/ 去查看是否有对应的mod_proxy.so,mod_proxy_balancer.so,mod_proxy_http.so,mod_proxy_ajp.so的模块包
二:本人的是vps已经安装好的apache不过没有编译此模块要自己动手编译
[i5a6]# find / -name mod_proxy.c
注释:我是不知道它的安装目录,直接根目录下检索吧,主要是找对应的模块文件夹;
执行结果:/home/cpeasyapache/src/httpd-2.2.17/modules/proxy/mod_proxy.c

[i5a6]# cd /home/cpeasyapache/src/httpd-2.2.17/modules/proxy/
[i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy.c proxy_util.c

[i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy_balancer.c

[i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy_http.c

# 安装proxy_ajp模块
[i5a6]# /usr/local/apache/bin/apxs -c -i mod_proxy_ajp.c ajp_header.c ajp_utils.c ajp_msg.c ajp_link.c

可以去 /usr/local/apache/modules/ 看下生成了对应mod_proxy.so,mod_proxy_balancer.so,mod_proxy_http.so,mod_proxy_ajp.so的包,

三:配置httpd.conf,设置权重和session严格复制等
› Continue reading

Tags: , , , ,

itext的转换pdf的尝试

星期日, 2012-02-12 | Author: Lee | JAVA-and-J2EE | 没有评论

今天写了个转换成pdf的文档,做个生成个表格的东东.没有做中文支持的问题,支持中文可以下载扩展包处理.
下载itext的jar包:可以去:http://sourceforge.net/projects/itext/files/ 下载更多版本,目前最新为itext-5.1.3.zip
对应的api文档可以翻阅:itext–api

生成个类似下列表格的图片:

代码如下:
› Continue reading

Tags: , , ,

Search

文章分类

Meta