java 安卓rpg源码_经典RPG小游戏魔塔源码

package com.bdqn.hr.view;

import com.bdqn.hr.activity.NewGame01;

import com.bdqn.hr.entity.Actor;

import com.bdqn.hr.entity.Npc;

import com.bdqn.hr.manager.ImgArrManager;

import com.bdqn.hr.manager.MyBitMapManager;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.Canvas;

import android.graphics.Paint;

import android.graphics.Rect;

import android.graphics.Paint.Style;

import android.util.AttributeSet;

import android.view.View;

/**游戏画面*/

public class GameView001 extends View implements Runnable {

private Bitmap bitmapBg = null;//背景和障碍物图

private Bitmap bitmapWp=null;//物品(道具)图

private Bitmap bitmapHcq=null;//缓冲区、

private Canvas canvas=null;//临时绘制对象

private Paint paint=null;//创建一个画笔对象

boolean bgPaint=true;//是否重新绘制背景(一般背景障碍物等只绘制一次。)

Actor actor=null;//玩家

Npc npc=null;

Bitmap mtTextImgbg=null;//按键下面的背景图片

DrawGuaiWuImage guaiWuImage=null;//绘制全体(动)怪物

DrawDoorImage drawDoor=null;//绘制门

public GameView001(Context context) {

super(context);

}

public GameView001(Context context, AttributeSet attrs) {

super(context, attrs);

bitmapBg =MyBitMapManager.getBitmapImgall();

mtTextImgbg=MyBitMapManager.getBitmapMtfontimg();

bitmapWp=MyBitMapManager.getBitmapWupin();

bitmapHcq=MyBitMapManager.getBitmapHC();

canvas=new Canvas();

canvas.setBitmap(bitmapHcq);

paint=new Paint();

canvas.drawRect(0, 0, 480, 800, paint);

actor=Actor.getActor(context);

npc=Npc.getNpc();

guaiWuImage=new DrawGuaiWuImage(context);

drawDoor=new DrawDoorImage(context);

new Thread(this).start();

}

@Override

protected void onDraw(Canvas canvas) {

if(bgPaint){

//绘制适应屏幕背景

//drawImageByArr2(this.canvas, bitmapBg, ImgArrManager.syScreenbgImageArr,32,32,24);

//绘制背景

drawImageByArr(this.canvas, bitmapBg, ImgArrManager.bgImageArr,32,32,24);

//绘制一个 半透明(全屏) 的黑色图 覆盖背景

paint.setAlpha(50);

paint.setStyle(Style.FILL);

this.canvas.drawRect(0, 0, 480, 800, paint);

this.canvas.drawBitmap(mtTextImgbg, 0, 608, paint);

//绘制bg2图

drawImageByArr(this.canvas, bitmapBg, ImgArrManager.bg2ImageArr,32,32,24);

//绘制障碍物图

drawImageByArr(this.canvas, bitmapBg, ImgArrManager.zawImageArr,32,32,24);

//绘制楼梯

drawImageByArr(this.canvas, bitmapBg, ImgArrManager.loutiImageArr, 32, 32, 24);

bgPaint=false;

NewGame01.keyFlag=true;

}

canvas.drawBitmap(bitmapHcq, 0, 0, null);

//绘制玩家信息

actor.drawActorInfo(canvas);

//绘制全体怪物

guaiWuImage.drawGuaiWu(canvas);

//绘制门

drawDoor.drawDoor(canvas);

npc.drawNpc(canvas);

//绘制玩家人物

actor.drawActor(canvas);

//绘制物品

drawImageByArr(canvas, bitmapWp, ImgArrManager.wpImageArr,32,32,4);

}

public void drawImageByArr(Canvas canvas, Bitmap image, int[][] arrImg,int width,int height,int rowSize) {

if(arrImg!=null){

for (int row = 0; row < arrImg.length; row++) {

for (int column = 0; column < arrImg[row].length; column++) {

// 绘制图像

int imgIndex = arrImg[row][column];

if(imgIndex!=0){

//获得本整形元素在图片上的行/列

int srow= imgIndex/rowSize;

int scolumn= imgIndex%rowSize;

drawImg(canvas,image,column*width,row*height,scolumn*width,srow*height,width ,height);

}

}

}

}

}

public void drawImg(Canvas canvas,Bitmap image,int x,int y,int sx,int sy,int w ,int h){

Rect src =new Rect();

src.left=sx;

src.right=sx+w;

src.top=sy;

src.bottom=sy+h;

Rect dst =new Rect();

dst.left=x;

dst.right=x+w;

dst.top=y;

dst.bottom=y+h;

canvas.drawBitmap(image, src, dst, null);

}

@Override

public void run() {

// TODO Auto-generated method stub

while (!Thread.currentThread().isInterrupted()) {

try {

Thread.sleep(100);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

Thread.currentThread().interrupt();

}

postInvalidate();

}

}

}



更多源码 | 好库简介 | 网站地图 | 帮助中心 | 版权说明

Copyright© 2009-2012 OKBASE.NET All Rights Reserved 好库网 版权所有

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CocosCreator是一款功能强大的游戏开发引擎,而魔塔游戏源码则是指使用CocosCreator开发的一款魔塔游戏的源代码。 CocosCreator魔塔游戏源码通常包含游戏的各个模块,包括角色控制、战斗系统、地图生成以及游戏UI等。在这个源码中,开发者可以看到一套完整的魔塔游戏框架和逻辑。 角色控制是魔塔游戏源码中的重要部分。开发者可以看到玩家角色的移动、攻击以及技能释放等代码。通过阅读源码,开发者可以了解到游戏角色的行为逻辑,比如怪物移动的规则、装备系统的实现等。 另外,战斗系统是魔塔游戏源码中的关键内容。开发者可以通过查看源码,了解到游戏的攻击和防御计算方式、技能释放和效果表现等细节。这对于学习游戏战斗系统的设计与实现非常有帮助。 地图生成也是源码中的一个重要模块。通过阅读源码,开发者可以了解到地图生成的算法、随机事件的处理、宝箱、商店等游戏元素的放置和生成等细节。 游戏的UI设计也是魔塔游戏源码中不可缺少的一部分。开发者可以通过查看源码,了解到游戏UI的布局、按钮点击事件的处理、弹窗的实现等细节。 总之,通过研究CocosCreator魔塔游戏源码,开发者可以学习到游戏开发中常用的算法和设计思路,同时也可以培养自己的开发能力和创造力。在学习和借鉴源码的基础上,开发者还可以根据自身需求进行二次开发和优化,创作出属于自己的魔塔游戏作品。 ### 回答2: CocosCreator魔塔游戏源码是指使用CocosCreator开发的魔塔游戏的程序代码。CocosCreator是一款基于Javascript的游戏开发引擎,通过它可以轻松创建多平台的游戏魔塔游戏源码通常包含了游戏的一些基本组成部分,如场景、角色、道具、怪物等。它们通过CocosCreator的节点和组件系统进行组织和管理。在源码中,开发者可以了解到游戏的逻辑、界面设计以及各个功能模块的实现方式。 通过使用CocosCreator魔塔游戏源码,开发者可以学习到如何实现一个完整的魔塔游戏。他们可以了解到游戏场景的搭建,通过编辑器创建地图和设置场景元素。他们可以学习到如何处理游戏角色的移动、攻击和受伤等操作,并实现相应的动画效果。另外,他们还可以了解到如何处理游戏道具的使用和怪物的生成与AI行为等。 魔塔游戏源码可以帮助开发者迅速上手游戏开发,节省大量的开发时间。通过对源码的学习和理解,开发者可以根据自己的需要进行二次开发和扩展,实现独具创意的魔塔游戏。 ### 回答3: CocosCreator魔塔游戏源码是基于CocosCreator游戏引擎开发的一种魔塔游戏代码魔塔游戏是一种以策略和冒险为主题的角色扮演游戏,玩家需要在迷宫中探索、寻找宝物、打败敌人,最终达到最深层并击败最终BOSS。 CocosCreator魔塔游戏源码包含了游戏的基本逻辑、界面设计、角色控制、敌人AI、道具系统等各个方面的代码实现。通过阅读源码,我们可以了解到游戏是如何实现地图的生成与呈现、角色的移动和战斗、敌人的行为规则、道具的获取和使用等功能。同时,源码还提供了一些基本的游戏美术资源,如角色、地图瓷砖、敌人等,可以用于快速搭建游戏。 在实际使用源码的时候,我们可以根据自己的需求进行修改和扩展,比如添加新的关卡、设计新的敌人、增加新的道具等。同时,我们也可以根据源码学习到CocosCreator游戏开发的一些基本技巧与规范,例如场景管理、碰撞检测、UI设计等。 总之,CocosCreator魔塔游戏源码是一个可以让我们了解和学习魔塔游戏开发的实际案例,可以通过对源码的学习和修改,快速搭建自己的游戏项目,并且还可以帮助我们掌握CocosCreator游戏引擎的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值