`
一口三个汉堡
  • 浏览: 117196 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

实例6--文字滚屏

阅读更多

  这个实例的本意展示j2me的字体,和滚屏的实现。我只实现了android自带的三种字体.

下面给出效果图:



下面给出MainView的代码

package com.wjh.demon_6;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.SurfaceHolder.Callback;

public class MainView extends SurfaceView implements Callback,Runnable{
	Thread gameThread = null;
	boolean isGame = true;
	SurfaceHolder holder = null;

	//游戏相关
	int m_nPosY = 0;
	Paint[] paints = null;
	Paint backPaint = null;
	public MainView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
		setFocusable(true);
		getHolder().addCallback(this);
		holder = this.getHolder();
		// 设定字体
		paints = new Paint[3];
		for(int i=0;i<3;i++)
		{
			paints[i] = new Paint();
		}
		paints[0].setColor(Color.RED);
		paints[0].setTypeface(Typeface.MONOSPACE);
		paints[0].setTextSize(15);
		
		paints[1].setColor(Color.GREEN);
		paints[1].setTypeface(Typeface.SANS_SERIF);
		paints[1].setTextSize(20);
		
		
		paints[2].setColor(Color.BLUE);
		paints[2].setTypeface(Typeface.SERIF);
		paints[2].setTextSize(25);
		//创建背景画笔
		backPaint = new Paint();
		backPaint.setColor(Color.BLACK);
		

		
		
		
	}
	@Override
	public void run() {
		// TODO Auto-generated method stub
		while(isGame)
		{
			input();
			logic();
			doDraw();
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}		
		}
		
	}
	//开始游戏主线程
	public void start()
	{
		if(gameThread == null)
		{
		gameThread = new Thread(this);
		gameThread.start();
		}
	}
	//停止游戏主线程
	public void stop()
	{
		isGame = false;
		if(gameThread != null)
		{
			try {
				gameThread.join();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	//输入判断
	public void input()
	{
		
	}
	//逻辑判断
	public void logic()
	{
		//不断更改m_nPosY的值,实现文字滚屏
		m_nPosY ++;	
		//如果文字已滚至屏幕最下方,则重新设置文字的纵坐标
		if( m_nPosY > getHeight() )
			m_nPosY = 0;
	}
	public void doDraw()
	{
		Canvas c = null;
		try
		{
		c = holder.lockCanvas();
		synchronized (holder) {
			paint(c);
		}
		}finally{
			if(c != null)
			{
			holder.unlockCanvasAndPost(c);
			}
		}
	}
	//画图
	public void paint(Canvas canvas)
	{

		//用黑色清屏
		canvas.drawRect(0, 0, getWidth(), getHeight(), backPaint);
		//设置当前字体,并以不同字体输出“2008年奥运会”几个字
		for(int i=0;i<3;i++)
		{
			canvas.drawText("2008年奥运会", 20+30*i,m_nPosY-(40-25*i), paints[i]);
		}
	}
	@Override
	public void surfaceChanged(SurfaceHolder holder, int format, int width,
			int height) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void surfaceCreated(SurfaceHolder holder) {
		// TODO Auto-generated method stub
		start();
		
	}
	@Override
	public void surfaceDestroyed(SurfaceHolder holder) {
		// TODO Auto-generated method stub
		stop();
		
	}

}

 apk文件包(修改后缀为apk):Demon_6.zip

源文件包:Demon_6.rar

  • 大小: 1.1 KB
  • 大小: 1.6 KB
0
0
分享到:
评论

相关推荐

    javascript经典特效---文本自动滚屏.rar

    在网页设计中,"文本自动滚屏"是一种常见的特效,它可以使页面中的文字内容像滚动新闻那样不间断地自动移动,从而吸引用户的注意力。这个压缩包文件“javascript经典特效---文本自动滚屏.rar”很可能包含了一个实现...

    html5滚屏模板

    例如,可以设置背景图片、文字等元素的淡入淡出或滑动进入效果。 2. **Flexbox布局**:HTML5的Flexbox模型允许开发者轻松地创建响应式布局,使内容在不同屏幕尺寸下都能自适应地滚动。通过设置容器的`display: flex...

    JavaScript网页特效范例宝典源码

    实例156 文字自动滚屏 242 实例157 文字上下滚动 243 5.6 文字立体效果 244 实例158 文字的旋转 244 实例159 立体旋转文字 246 实例160 文字3D效果 248 5.7 文字动画效果 249 实例161 反弹文字 249 实例162 飞舞的...

    javascript网页特效实例大全

    第13章 综合实例 333 13.1 勇闯迷宫 334 13.2 记忆力游戏 338 13.3 贪吃蛇游戏 342 13.4 打蜜蜂 345 13.5 射击游戏 350 13.6 螃蟹赛跑 353 13.7 数字拼图 358 13.8 填格子游戏 363 13.9 棒球动画 367 ...

    JavaScript实例精通

    JavaScript实例精通 1.本书1~20章所附代码的运行环境 操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:、Dreamwave、Notepad、UltraEdit,或者其他文本编辑器 Web服务器:IIS 5.1及...

    带字库12864滚屏.zip

    10. **应用实例**:这种滚屏显示技术常应用于嵌入式设备的用户界面,如工业自动化设备、智能家居控制面板、车载信息显示系统等,用于显示实时数据或提示信息。 以上就是关于"带字库12864滚屏.zip"项目中涉及的主要...

    《JavaScript实例精通》[源代码]

    9_6.htm 打字效果的文字特效。 9_7.htm 淡入淡出的文字效果。 9_8.htm 炽热文字的特殊效果。 第10章(\10) 示例描述:页面中的链接地址个性化。 10_1.htm 按时消失的链接。 10_2.htm 带滚动提示的...

    javaScript实例自学手册486例,附带目录可方便搜索

    javaScript实例自学手册代码,加了个index.html方便搜索 内容如下面的。 1.1 HTML页面反向显示.htm 1.10 定义网页的关键字.htm 1.11 进入页面同时弹出欢迎对话框.htm 1.12 禁止网页另存.htm 1.13 禁止页面加入...

    Visual Basic 6.0应用编程150例

    2. **图形与动画**:Example009-窗口背景花纹的实现和Example032-旋转文字效果演示,这两个例子深入浅出地讲解了VB6中的图形绘制和动画制作技巧。GDI(Graphics Device Interface)是VB6处理图形的关键,包括...

    vue实现整屏滚动切换

    本文实例为大家分享了vue实现整屏滚动切换的具体代码,供大家参考,具体内容如下 1、下载vue-awesome-swiper npm i vue-awesome-swiper -S 2、在main.js引入 import vueAwesomeSwiper from 'vue-awesome-swiper' ...

    PYQT5设置textEdit自动滚屏的方法

    在修改后的文字后面加上: self.textEdit_6.moveCursor(QTextCursor.End) 例子: self.textEdit_6.setPlainText(Hello World) 以上这篇PYQT5设置textEdit自动滚屏的方法就是小编分享给大家的全部内容了,希望能...

    jQuery实现的图文高亮滚动切换特效实例

    【jQuery实现的图文高亮滚动切换特效实例】 在网页设计中,吸引用户的注意力并提供良好的交互体验是非常重要的。jQuery库提供了丰富的功能,使得创建动态、交互式的网页元素变得简单。本文将详细介绍如何使用jQuery...

    一些精美的网页特效代码.zip

    包含了多种常见的网页特效实例,这些代码可以帮助开发者实现一系列实用且有趣的效果,如网页背景音乐、跑马灯滚动、显示当前时间日期、一键收藏网页、双击自动滚屏以及文字动态展示等。 首先,让我们详细了解一下每...

    基于单片机的LCD液晶显示器控制原理系统设计-[当文网提供].doc

    基于8051单片机的LCD液晶显示器控制原理系统设计,是一种典型的单片机应用实例,主要用于实现文字和图形的清晰显示。本文将详细探讨这一系统设计的各个方面,包括硬件选型、接口设计、软件编程以及系统调试。 1.1 ...

Global site tag (gtag.js) - Google Analytics