能用flash cs6+as3.0做出html5的效果吗?怎么实现?比如:实现3d迷宫

能用flash cs6+as3.0做出html5的效果吗?怎么实现?比如:实现3d迷宫,第1张

现在都在讨论能不能用HTML5来实现Flash 的功能吧,毕竟AS作为一个完整独立的完全面向对象语言,理论上是什么都可以做的;而HTML5又来势汹汹想取代Flash~当然,Flash不支持3D引擎,目前的3D都是在平面上通过数学计算进行缩放来实现一个纵深的效果。3D迷宫Flash很容易做出来,很多AS游戏编程的书里都会有3D迷宫的教程,而且一般都会用一个章节来讲,所以,去搜索一个或者我给你写一个还可以,要在这说清楚怎么实现可能很麻烦。

labyrinth

n.

迷宫, 曲径

错综复杂, 难解的事物曲折难以摆脱的困难[处境]

【解】(内耳的)迷路

迷宫环(式密封), 曲径环(式密封)封平圈

maze

[meiz]

n

迷宫;错综复杂的曲径

#include <stdio.h>

#define MaxSize 100

#define M 8

#define N 8

struct sqqueue {

int i,j

int pre

} qu[MaxSize]

int front=-1,rear=-1

int mg[M+2][N+2]= {

{1,1,1,1,1,1,1,1,1,1},

{1,0,0,1,0,0,0,1,0,1},

{1,0,0,1,0,0,0,1,0,1},

{1,0,0,0,0,1,1,0,0,1},

{1,0,1,1,1,0,0,0,0,1},

{1,0,0,0,1,0,0,0,0,1},

{1,0,1,0,0,0,1,0,0,1},

{1,0,1,1,1,0,1,1,0,1},

{1,1,0,0,0,0,0,0,0,1},

{1,1,1,1,1,1,1,1,1,1}

}

void print(int front) {

int k=front,j,ns=0

printf("\n")

do {

j=k

k=qu[k].pre

qu[j].pre=-1

} while(k!=0)

printf("ÃÔ¹¬Â·¾¶ÈçÏÂ:\n")

k=0

while(k<MaxSize) {

if(qu[k].pre==-1) {

ns++

printf("\t(%d,%d)",qu[k].i,qu[k].j)

if(ns%5==0)

printf("\n")

}

k++

}

printf("\n")

}

void mgpath(int x1,int y1,int x2,int y2) {

int i,j,find=0,di

rear++

qu[rear].i=x1

qu[rear].j=y1

qu[rear].pre=-1

mg[1][1]=-1

while(front!=rear&&!find) {

front++

i=qu[front].i

j=qu[front].j

if(i==x2&&j==y2) {

find=1

print(front)

}

for(di=0 di<4 di++) {

switch(di) {

case 0:

i=qu[front].i-1

j=qu[front].j

break

case 1:

i=qu[front].i

j=qu[front].j+1

break

case 2:

i=qu[front].i+1

j=qu[front].j

break

case 3:

i=qu[front].i

j=qu[front].j-1

break

}

if(mg[i][j]==0) {

rear++

qu[rear].i=i

qu[rear].j=j

qu[rear].pre=front

mg[i][j]=-1

}

}

}

if(!find)

printf("²»´æÔÚ·¾¶!\n")

}

int main() {

mgpath(1,1,8,8)

}

入队条件是mg[i][j]==0


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7087660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存