所谓游戏运营,就是将游戏从一个艺术品转换成商品并从中获取利润的一个过程.一款游戏的开发完成并不代表其成功,将其成功运作,并随之而来产生源源不断的利润,使其商业化才是一款游戏真正的成功。
游戏运营的含义
游戏工作人员通过市场调研、游戏策划、游戏开发等工作,终于把游戏开发出来,但不意味着游戏成功了,游戏真正在市场上销售,让用户知道了解并购买,并为其进行售后服务的过程,叫市场运营过程。
市场运营包括市场宣传、产品定价及售后服务等内容。
市场宣传是指游戏向众多潜在用户做介绍,并激发其购买欲望的过程。整个宣传过程可以细分为两个方面,内容确定及渠道选择。
产品定价则指确定游戏收费金额的过程,包括收费形式和收费金额。
售后服务则指为技术服务和客户服务。
游戏运营的目标
1.短期目标
int[] numbers = new int[]{1,2,3,4,5,6,7,8,9,10};
int[] results = new int[numbers.length];
Random random = new Random();
for(int index = numbers.length - 1; index >= 0; index--){
int n = random.nextInt(index+1);
results[index] = numbers[n];
if(n != index){
numbers[n] = numbers[index];
numbers[index] = results[index];
}
}
// results[0] = numbers[0];
/*
* 测试
*/
for(int index = 0; index < results.length; index++){
System.out.print(' ' + results[index]);
}
我们利用MIDP的高级API来做一个猜数字游戏,游戏系统随机产生一个0~10的整数,玩家输入数字来猜这个数字,系统会给玩家提示:如大了,小了之类,直到玩家猜出为止。
import java.util.Random;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
public class GuestGameMIDlet extends MIDlet implements
CommandListener{
private Display display;
private Command commit,newGame;//一个提交,一个重新开始
private Form form;
private TextField tf;//引用TextField
private Random rand;//引用随机函数
int random;//系统给用随机数
boolean flag;//是否是第一个运行程
TextField类
TextField类的构造函数:
public TextField(String label,String text,int
maxSize,int
constraints)使用指定的标签,初始内容,以字符为单位的最大尺寸和约束条件创建新的TextField对象。和TextBox不一样的是,它是自Item继承下来。
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.ItemStateListener;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
public class TextFieldTest extends MIDlet implements
ItemStateListener {
private Display dis;
TextField name;
TextField tel;
public TextFieldTest() {
super();
dis =Display.getDisplay(this);
// TODO 自动生成构造函数存根
}
protected void startApp(){
//
StringItem类
StringItem对象是一种可以容纳字符串的文本组件项目,用户不能编辑该组件包含的字符串。StringItem的构造函数有两个
StringItem(String label,String
contents)
创建新的字符串Item,指定标签和内容
StringItem(String label,String
contents,Item.Type)
创建新的字符串Item,指定标签内容和外观类型(类型主要有PLAIN/BUTTON/HYPERLINK)
StringItem主要有六个常用的方法:
void setText(String s)
设定内容
void setLabel(String l)
设定标签
String
getText()
取得内容
String
getLabel()
虽然Alert在显示一段时间之后,就会跳回原处,但是我们仍可以利用Alert类的setTimeout()函数,并传入Alert.FOREVER作为参数,此时Alert只有在用户按下上面的解除钮(Dismiss
Command)时,才能跳回之前的画面,假设我们要实现一个类似Winzip的没有注册就会跳出对话框要求注册的功能,Alert类也能实现:
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
public class AlertRTest extends MIDlet {
private Display display;
Alert/AlertType类
Alert是一个比较特殊的屏幕对象(Screen类的子类),当我们利用Display类的setCurrent()函数将它设
为目前显示在屏幕上的画图时,它会先发出一段声音,然后将自己显示在屏幕上,过一段时间后,
它会自动跳回之前的画面。值得注意的是,调用Display类的setCurrent()函数将Alert设为目前显示
在画面之前,系统本身一定要存在一个画面,这样才能让Alert有地方可以跳回(Alert的缺省行为)。
因此,如果我们在MIDlet一启动直接就将Alert设为第一个显示在屏幕上的画面的
List类
简易式单选
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.List;
import javax.microedition.midlet.MIDlet;
public class ImplicitList extends MIDlet implements
CommandListener {
private Display display;
public ImplicitList() {
super();
display = Display.getDisplay(this);
// TODO 自动生成构造函数存根
}
protected void startApp() {
// TODO 自动生成方法存根
Image im = null;
try{
im = Image.createImage('/Duke.png');
}catch(Except
List类
List对象就是列表对象,在List对象中可以加入多个文本字符串条目,每个条目还可以带图片,当List对象太多超出屏幕时,会自动提供滚屏机制(使用上下键移动)。
List类实现了Choice接口,Choice接口中有几个重要的方法:
int
size()
条目的个数
int
getSelectedIndex
当前选中的条目
boolen isSelected(int index)
某一条目是否选中
List的构造方法有两个:
Lis
TextBox类
TextBox是可以用于输入和编辑文本的文本框,支持多行输入。
TextBox的构造方法是:
TextBox(String title,String text,int
maxSize,int constraints)
第一参数是标题,第二个参数是文本,第三个参数是最大字符数,第四个参数是限制类型。
用来限制TextBox所能储存内容的限制类型如下:
TextField.ANY
允许输入任何字符或数字
TextField.EMAILADDR
允许输入电子邮件地址
TextField.UNMERIC
只允许输入数字
TextField.PHONENUNBER
只允许输入电话号码的格式
TextField.URL