文档库 最新最全的文档下载
当前位置:文档库 › 游戏中汉字显示的实现与技巧(1)

游戏中汉字显示的实现与技巧(1)

游戏中汉字显示的实现与技巧(1)
游戏中汉字显示的实现与技巧(1)

游戏中汉字显示的实现与技巧

绪言

在游戏中,因为我们是中国人麻,通常都需要显示汉字,比方说交待剧情。而对于文字的显示,英文的显示要较其简单得多,因为只有26个字母,就算再加一些标点、符号什么的,用一张位图,就可以足以显示所有的单词了,而相关实现技巧,也比较轻松。

而中文的显示方法,要复杂得许多。记得原来在DOS下,汉字的显示都是读的UCDOS 的点阵字库,而点阵字库的读取方法,在UCDOS SDK中都有源代码可以参考。但是自从Windows操作系统开始,我们开始了解到一种更好的字库,它就是TTF。

注:以下我所指的开发环境,除非明确说明,默认的平台是VC6.0+DirectX8.1,使用D3D来加速2D。然后使用的STL是用的SGI实现的那一套STL。

点阵字库

包括现在,有很多游戏都还是使用的点阵字库。因为操作起来比较方便,加上这方面的经验已经积累了好几年了。通常如果只是一种字体就可以满足需要的话,它会是一个比较好、快的解决办法。但是它有3个缺点:

1.如果放大显示,不做处理的话,显示出来的汉字,是很难看的。

2.像是UCDOS所提供的点阵字库,只有24点阵的有几种字体,如:宋体、黑体、揩

体…,而16点阵的好象就只有宋体一种。

3.点阵字库,通常是有版权的,尤其是第三方制作的汉字库(如:方正)。

在这样的情况下,当我们写好这样的一个显示函数,就算是解决了如:放大、快速显示等问题的话,可供选择的字体还是太过于局限了。所以,在字体的要求比较强的情况下,点阵字库并不是一个好的解决方法,他不够灵活。尽管我们对于它的操作是如此得熟练,可以写出优美的代码来展示我们的编程技巧。

TTF

TTF是True Type Font的简称。在Windows\Fonts目录下面,我们可以看到许多后缀

为ttf的文件,它就是接下来我们接下来所要谈到的。

TTF是一种矢量字库。我们经常可以听到矢量这个词,像是FLASH中的矢量图形,在100*100分辨率下制作的flash,就算它放大为全屏,显示出的画面也不会出现马赛克。所谓矢量,其实说白了就是用点和线来描述图形,这样,在图形需要放大的时候,只要把所有这个图形的点和线放大相应的倍数就可以了。而且,在网站上有很多的TTF字库可以下载,或者你可以去买一些专门的字库光盘。然后在你发行你精心制作的游戏时,可以顺便捎上这些后缀为.ttf的文件就行了。包括Quake这样的惊世之作,也都是用的TTF字库。

这样,我们就可以解决点阵汉字的一些问题。通过TTF,我们在字体的质量和字库的数量上获得了暂时性的胜利。

字库的读取和显示

先前谈到点阵字库,只需要很简单的一些操作,就可以显示出想要的汉字。下面我给出一个读取hzk16的函数,它需要一个Surface以供显示用:

#include

#include

#include

// 读取16x16

void DispHZ16(int x, int y, BYTE *Str, LPDIRECTDRAWSURFACE surf)

{

const int Mask[] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };

FILE *HzkFp;

WORD i, j, k=0, m;

WORD HzNum;

WORD QuHao;

WORD WeiHao;

long offset;

BYTE dotBuffer[32];

HzkFp = fopen("HZK16", "rb");

HzNum = strlen((const char *)Str)/2;

DDSURFACEDESC ddsd;

LPWORD lpSurface;

HRESULT ddrval;

ddsd.dwSize = sizeof(ddsd);

while((ddrval=surf->Lock(NULL, &ddsd, 0, NULL))==DDERR_WASSTILLDRAWING);

if(ddrval == DD_OK)

lpSurface = (LPWORD)ddsd.lpSurface;

for(i = 0; i

{

QuHao = Str[i*2]-160;

WeiHao = Str[i*2+1]-160;

offset = ((QuHao - 1) * 94 + (WeiHao-1))*32;

fseek(HzkFp, offset, SEEK_SET);

fread(dotBuffer, 32, 1, HzkFp);

for(j=0;j<16;j++)

for(k=0;k<2;k++)

for(m=0;m<8;m++)

if(dotBuffer[j*2+k] & Mask[m])

{

lpSurface[ddsd.lPitch*(y+j+1) + x+k*8+m] = 0x000000;

}

x+=16;

}

surf->Unlock(NULL);

fclose(HzkFp);

}

其实原理很简单:

1.打开字库

2.计算字符串长度(这个函数只支持中文),并且Lock Surface

3.依次计算出每个汉字所对应的区码和位码(汉字的第1个字节是区码,第2个字节

就是位码),然后通过公式计算出这个汉字在字库中的偏移量:

offset = ((QuHao - 1) * 94 + (WeiHao-1))*32;

4.读出一个32个字节的点阵

5.绘制到Surface上

以上只是16*16点阵字库的显示方法,24*24的读取方法与之类似,大家可以参照相关资料来书写出自己的代码。

如何显示TTF字库呢,有很多种手段,下面我按从简单到复杂的的顺序依次介绍:

1.使用Windows API,也就是大家所熟悉的TextOut。通过它,还需要一个HDC(设

备句柄),我们就可以随意地在屏幕任何地方显示出文字了。

2.在https://www.wendangku.net/doc/184337265.html,,有一个FreeType的免费库,而且是OpenSource的。它

目前有2个版本:1.0和2.0。其区别在于,1.0只能读取TTF格式的,而2.0支

持更多的文件格式,在使用它之前请详细阅读所要遵循的Licence,以下是摘自

FreeType2.0对字库的支持列表:

o TrueType fonts (and collections)

o Type 1 fonts

o CID-keyed Type 1 fonts

o CFF fonts

o OpenType fonts (both TrueType and CFF variants)

o SFNT-based bitmap fonts

o X11 PCF fonts

o Windows FNT fonts

3.自己研究TTF的格式,然后自己来操作。

....... ╮╮

\█/倒!

虽然我们想要把每一件事情都做好,但是也不是每一件事情都要亲历亲为。如果你

非要这样,也行^____^,但是过不了多久,你就会陷入泥沼,到时候你会发现自己

的热情正在慢慢被磨灭,什么叫做抓狂,相信你很快就会知道^_^。

在有多种选择可以取舍的情况下,我们需要考虑一下,对比一下各种解决方法的优劣。

在DirectDraw时代,我们都不自觉地喜欢上了GetDC,因为……多方便啊。可是现在已经到了DirectX8.1时代了(我要使劲地摇那些还沉醉于DirectX7中,为如何在使用alpha 时提升那可怜的1、2个fps的朋友们:醒醒,该起床了!),HDC已经被M$列为禁用品。怎么办呢?是的,你可能已经想到了,我们还一直保存着窗口的hWnd呢,可以通过它来得到hdc,从而调用那些需要hdc的API,可是,这样做是更为愚蠢的,这样对你是没有一点好处的,不信,你就试试吧。有一句话,请牢记:要想你的游戏有更快的速度的话,请不要再去碰HDC了。

我们非常清楚hdc是一个超慢的解决办法,它无法在我们的高速游戏中满60分及格。下面来看看FreeType,它更像是一个Service。它的解决方法是,先通过一系列的初始化和设置,告诉FreeType字体的名字和大小等,然后它会动态地申请一个Graphic,再把我们要显示的字画到这个Graphic上,你还可以把它保存为tga格式。不过我们最终所想要的不是这个,所以可能我们还需要从这个Graphic上逐点读取或者用CopyRect,然后再画到我们的画面上。其实它已经是很方便的了,可是需要你去学习如何配置和使用它,这是很花时间的一件事情,而且它最大的优点是可以跨平台,我们需要它吗?如果有一个更为简单的办法,像是如果Textout不是那么慢的话,就好了……

在这里,顺便谈一下另2个字体显示类:ID3DXFont和CD3DFONT。可能早就有人会说怎么在上面的列表中没有它们?原因我会在下面慢慢地说明:

ID3DXFont,它存在于D3DX库中,一个现成的字体类,不过对于它的处理方法……我实在不敢恭维,就引用一位大师所说的话来表达我的看法吧:在内部实现中,ID3DXFont::DrawText()函数确实做了我上面讨论的工作,先建立一张GDI兼容的位图,把文本绘制到位图上,而后把位图拷贝到纹理贴图上去,最后把纹理渲染到屏幕上。这样你就聚齐了所有的龟速的原始GDI函数,还包括了一大堆的额外开销—最终,这个函数比原来GDI的DrawTextEx()函数要慢上超过六倍……

CD3DFONT,是由M$在D3D的框架代码中提供。不过它只能显示英文,有很多朋友通过

自己定制和修改这个类,来实现自己的中文显示。不过效果都不是很好。其实原理,跟ID3DXFont的方法差不多,不过处理方法要聪明了一点。

分析与思考

那么我们应该怎么办呢?通常我们会幻想,如果可以像处理英文那样,把所有的汉字都保存在一张位图里,该有多好。这样,显示的速度就不是问题了,直接可以CopyRect上去。可是,这样可能吗?首先,必须每一种字体都要生成这样的一个巨型位图。而且据说在GB2312中,一共有6000多个汉字,就算是用16*16,oh my god,这个位图该有多大啊(据说会有2.5M^__^)!!!而且在DirectX8.1中,对于Texture(显示的最小单位,就好象是原来DirectSurface的概念一样。说过多少遍了,不要再用DirectX8以前的东西了。不要试着去回忆那些美好的过去,我很明白,要你一下子放弃原来多年所获得的成就,是一件很痛苦的事情,但是包袱太重,是会影响进步的。就像是我们的国家……扯远了),不同的显卡,支持的最大容量也是不同的。比方说早期的Voodoo,只支持256*256大小的Texture。而在我的显卡(Geforce2 MX 200)上测试,支持最大2048*2048大小的Texture。对于这样的硬件不确定性,我们只能取其最小值,也就是256*256。

汉字虽然很多,但是常用的汉字,其实也就只有那么几百个。像这样的字:鬯、鞴,你一辈子会看到多少次呢?如果可以做一个类似于Cache的东西,保存着常用的那些个汉字,在需要显示的的时候,先在Cache中查找,如果有的话,就马上画上去;如果没有,就从字库中提取到Cache中。这样的话,在使用Texture来保存汉字的位图信息的同时,对于每个汉字,我们还要定义一个结构,然后用一个东西把它串起来,综合它们2个,也就实现了我们所要的Cache了。刚开始,我所定义的结构是这样的:

struct Char{

char hz[3]; // 保存汉字

int frequency;// 使用频率

RECT rect; // 这个字对应位图的区域

Bool isUsing; // 是否使用

}

对于汉字和英文,我在这里大概地讲一下原理:汉字是由2个字节保存,而英文只需要1个。而判断一个字是否是汉字,只需判断第1个byte是否>128(在原来的GB2312中,汉字的2个字节都是>128的。而新的GBK字库,汉字的第2个字节不一定>128,我想这是扩大了字库容量的原因。我的意思是说,如果给一个字符串你,随机给其中一个位置,然后我问你这个位置是什么?你的回答只能是:1 英文 2 汉字的首字节 3 汉字的尾字节。而这个问题的解法,为了稳妥起见,你必须从字符串的开始判断起)。也就是说在char[3]中,如果保存的是汉字,则char[0]保存汉字第1个字节,char[1]保存汉字第2个字节,第3个存放’\0’;如果是英文的话,则只用到char[0],其它的全部为’\0’。

接下来,对于使用char[3]来保存汉字,是否真的很合适呢?因为如果把它当作一个字符串来看的话,在查找时就需要使用 strcmp 来比较字符串了,这样一定是会影响速度的。如果不把它看作字符串(字符串的最后一个字节需要以’\0’结尾),只用char[2]的话,我们可以只是简单地调用宏MAKEWORD,把2个byte压成1个WORD。当把文字作为一个WORD 来看的时候,这样查找比较时可以用WORD内建的==操作,这样要比调用strcmp函数要快得多。

int frequency用来标志每个WORD的使用频率。设想,如果一个字已经存在于Cache 中,以后每对它调用一次,就让frequency++。这样做还有一个用意是,是否可以在一个合

适的时候,以frequency为参照来对这整个Cache排个序,把常用的字放在前面。那么在显示时,可以先在Cache中查找所要显示的字是否已经存在于Cache中,如果有则直接显示,没有的话才需要采取某种手段将字加入到Cache中。一些常用的字(像:我、的、着、了、过……),使得显示的速度将会大大提高。

其实上面说了半天的Cache,它具体是什么呢?其实就是指的最小绘制单位,在DirectX7里是Surface,而在DirectX8中就是Texture。使用它来存放显示过的汉字,这样,就不用每次都从字库中读取或是调用如TextOut这类GDI超慢的函数了。因为每次在绘制一个文字之前,都会先在这个Cache中找,有的话就直接画上去,没有才会调用TextOut 操作。而这样做的原因,我们先设想一下:游戏一般会控制为30fps或是60fps的速度不停地刷新,如果在GameLoop中有任何的代码是龟速级的话,这样就会导致fps的最大数的降低,也就意味着在保证30fps或60fps的同时,能绘制到屏幕上的物体的数量减少了。这就是我们为什么要使用Texture来作为Cache的实现的原因。再一个,文字在屏幕上显示时一般会保持一段时间,这个时间可能是1秒-3秒,我们的游戏也就会相应地更新60fps或180fps,这是因为人们需要阅读它们。或者是一些如标题这样的文字,它们总是不会更新的,或是更新得很慢。我们完全可以在第一时间,比方说我们的画面有60fps,在第1个fps时,我们得知要显示文字”唐”,然后先在Cache中找,结果很糟:没有找到!这时马上用TextOut 写到Texture上(现在还是属于第1个fps的时间范围内),而接下来的59个fps(甚至更多),都不用再调TextOut了,而是直接从我们的Cache:Texture上Copy到屏幕上,速度得到了保障。谈到GDI的函数,为了实现设备无关性,它们的速度都很慢。其实它们也不像说得那么慢,如果不是每一帧都要调用它们,也算是蛮快的^_^。那么这个RECT rect,就代表着这个文字所对应在Texture上的区域位置。

使用什么东西来把这n个Char串起来呢,一般会想到的是链表,原因无非有2个:1 随时有新的字加进来,而内存是不连续的 2 它几乎没有容量的限制(除非是内存用完了)。不过链表的访问速度是很慢的,如果使用像数组这样的东西就好了。仔细想想,在这里,我们用来存储的Cache,最大也就是256*256(理由上面说了),所以大小应该会是固定的。我们只需要在数组中的给每一个汉字加上一个标志,说明这个位置的使用情况。那么就使用数组吧,这样的话,访问的速度要更快一些,直接首地址+偏移量就够了,不必像链表,在查找时需要逐node访问。当然,我绝不会想到用new Char来申请这个数组。因为这样做实在没有必要,请不要过于迷信自己的能力,在STL中已经有vector了,为什么还要自己写呢?^_^最后的一个bool成员变量isUsing,也就是上面所说,用来标志使用情况的。

实际的操作

上面考虑了那么多,我认为都是实际操作之前所应该有的。先谈谈如何显示吧,因为在DirectX8.1中已经将DirectDraw和Direct3D融合为DirectGraphics了。所以无法像原来那样了…………哦,实在有太多东西要讲了,我还是推荐几篇文章给你吧^_^:https://www.wendangku.net/doc/184337265.html,/mays/develop/directx/200201/Geczy3Din2D.htm

https://www.wendangku.net/doc/184337265.html,/mays/develop/directx/200201/GESurface.htm

https://www.wendangku.net/doc/184337265.html,/mays/develop/directx/200112/2DGtoDX8.htm

https://www.wendangku.net/doc/184337265.html,/mays/develop/directx/200201/DX8adv2D.htm

接下来,我会假设你已经具备了在DirectX8.1中绘图的基本概念了,所以在你继续往下阅读之前,请务必先仔细阅读以上推荐的文章。

前面提到,需要一个vector来对应Texture上各个位置文字的信息,上面已经创建了一个结构Char,则这个vector的定义为:

vector _vBuf; // 记录缓冲中现有的文字情况首先,由于可以利用硬件的放大缩小机能,所以字体的大小精度要求不是很高,只需要支持16*16和24*24大小的字体就可以了。我们需要一个这样的初始化函数:bool CFont::

/*-------------------------------------------------------------

LPDIRECT3DDEVICE8 pd3dDevice --- D3DDevice设备

char szFontName[] --- 字体名(如: 宋体)

int nSize --- 字体大小, 只支持16和24

int nLevel --- 纹理的大小级别

-------------------------------------------------------------*/

Init( LPDIRECT3DDEVICE8 pd3dDevice, char szFontName[], int nSize, int nLevel )。

在DirectX8.1中,由SetTexture(…)所贴的图的大小,也就是Texture的大小,是有大小限制的,长和宽都必须是2^n,而且位图越大,所花费的显存越大,这样留给其他显示用的显存就少了。所以,必须根据需求的不同,来自定Texture(也就是Cache)的大小。因为汉字点阵大小的原因,所以从实用角度而言(比方说只是显示fps或是短小的标题),开辟一个64*64大小的Texture,才能满足最低情况下的需要(这时如果选择16点阵的话可以存放16个汉字,24点阵可以存放7个,依次类推……)。

根据设置,创建Texture:

_TextureSize = 32 << nLevel; // 纹理大小

_TextSize = nSize; // 文字大小

_TextureSize = 32 << nLevel; // 纹理大小

_RowNum = _TextureSize / _TextSize; // 计算一行可以容纳多少个文字

_Max = _RowNum * _RowNum; // 计算缓冲最大值

创建字体,还是需要使用Win32 API。也就是先创建一个HDC:

_hDc = CreateCompatibleDC(NULL);

然后创建一个BITMAP和一个FONT,将它们与HDC关联起来。

LOGFONT LogFont;

ZeroMemory( &LogFont, sizeof(LogFont) );

LogFont.lfHeight = -_TextSize;

LogFont.lfWidth = 0;

LogFont.lfEscapement = 0;

LogFont.lfOrientation = 0;

LogFont.lfWeight = FW_BOLD;

LogFont.lfItalic = FALSE;

LogFont.lfUnderline = FALSE;

LogFont.lfStrikeOut = FALSE;

LogFont.lfCharSet = DEFAULT_CHARSET;

LogFont.lfOutPrecision = OUT_DEFAULT_PRECIS;

LogFont.lfClipPrecision = CLIP_DEFAULT_PRECIS;

LogFont.lfQuality = DEFAULT_QUALITY;

LogFont.lfPitchAndFamily = DEFAULT_PITCH;

lstrcpy( LogFont.lfFaceName, szFontName );

_hFont = CreateFontIndirect( &LogFont );

if ( NULL == _hFont )

{

DeleteDC( _hDc );

return false;

}

(只需要创建一个字体大小的BITMAP即可)

BITMAPINFO bmi;

ZeroMemory(&bmi.bmiHeader, sizeof(BITMAPINFOHEADER));

bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);

bmi.bmiHeader.biWidth = _TextSize;

bmi.bmiHeader.biHeight = -_TextSize;

bmi.bmiHeader.biPlanes = 1;

bmi.bmiHeader.biBitCount = 32;

bmi.bmiHeader.biCompression = BI_RGB;

(这里需要定义一个指针指向位图的数据:

DWORD * _pBits; // 位图的数据指针)

_hBmp = CreateDIBSection( _hDc, &bmi, DIB_RGB_COLORS, (void **) &_pBits, NULL, 0 );

if ( NULL == _hBmp || NULL == _pBits )

{

DeleteObject( _hFont );

DeleteDC( _hDc );

return false;

}

// 将hBmp和hFont加入到hDc

SelectObject( _hDc, _hBmp );

SelectObject( _hDc, _hFont );

接着设置背景色和文字色:

SetTextColor( _hDc, RGB(255,255,255) );

SetBkColor( _hDc, 0 );

设置文字为上对齐:

SetTextAlign( _hDc, TA_TOP );

创建Texture所需要的顶点缓冲:

if ( FAILED( _pd3dDevice->CreateVertexBuffer( _Max * 6 * sizeof(FONT2DVERTEX),

D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, 0,

D3DPOOL_DEFAULT, &_pVB ) ) )

{

DeleteObject( _hFont );

DeleteObject( _hBmp );

DeleteDC( _hDc );

return false;

}

创建Texture

if ( FAILED( _pd3dDevice->CreateTexture( _TextureSize, _TextureSize, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, &_pTexture ) ) )

{

DeleteObject( _hFont );

DeleteObject( _hBmp );

DeleteDC( _hDc );

SAFE_RELEASE(_pVB);

return false;

}

设置渲染设备的渲染属性:

_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );

_pd3dDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );

_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );

_pd3dDevice->SetRenderState( D3DRS_ALPHATESTENABLE, TRUE );

_pd3dDevice->SetRenderState( D3DRS_ALPHAREF, 0x08 );

_pd3dDevice->SetRenderState( D3DRS_ALPHAFUNC,

D3DCMP_GREATEREQUAL );

_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE );

_pd3dDevice->SetTexture( 0, _pTexture );

_pd3dDevice->SetVertexShader( D3DFVF_FONT2DVERTEX );

_pd3dDevice->SetStreamSource( 0, _pVB, sizeof(FONT2DVERTEX) );

设置缓冲的最大容量

_vBuf.resize( _Max );

这样,初始化完成了。接下来是如何把一个汉字写到Texture中,以及如何进行管理。定义函数:

// 得到文字在纹理中的位置

void CFont::

/*-------------------------------------------------------------

char c1 --- 文字的第1个字节

char c2 --- 文字的第2个字节

int & tX --- 写入纹理中的坐标x

int & tY --- 写入纹理中的坐标y

-------------------------------------------------------------*/

Char2Texture( char c1, char c2, int & tX, int & tY )

{

WORD w = MAKEWORD(c1, c2); // 把此字变为WORD

vector::iterator it = find( _vBuf.begin(), _vBuf.end(), w );

if ( it == _vBuf.end() ) // 如果没找到

{

it = find( _vBuf.begin(), _vBuf.end(), 0 ); // 查找空闲位置

if ( it == _vBuf.end() ) // 缓冲已满

{

for(; it!=_vBuf.begin(); it-- )

{

it->hz = 0;

}

// Log.Output( "字体缓冲已满, 清空!" );

}

// 计算当前空闲的Char在缓冲中是第几个

int at = it-_vBuf.begin();

// 得到空闲位置的坐标

tX = (at % _RowNum) * _TextSize;

tY = (at / _RowNum) * _TextSize;

// 设置这个Char为使用中

(*it).hz = w;

RECT rect = {0, 0, _TextSize, _TextSize};

char sz[3] = {c1, c2, '\0'};

// 填充背景为黑色(透明色)

FillRect( _hDc, &rect, (HBRUSH)GetStockObject(BLACK_BRUSH) );

// 往hBitmap上写字

::TextOut( _hDc, 0, 0, sz, c1 & 0x80 ? 2 : 1 );

// 锁定表面, 把汉字写入纹理, 白色的是字(可见), 黑色为背景(透明)

D3DLOCKED_RECT d3dlr;

_pTexture->LockRect(0, &d3dlr, NULL, D3DLOCK_NOSYSLOCK);

BYTE * pDstRow = (BYTE*)( (WORD *)d3dlr.pBits + tY * _TextureSize + tX );

for (DWORD y=0; y<_TextSize; y++)

{

WORD * pDst16 = (WORD*)pDstRow;

for (DWORD x=0; x<_TextSize; x++)

{

BYTE bAlpha = (BYTE)((_pBits[_TextSize * y + x] & 0xff) >> 4);

if (bAlpha > 0)

*pDst16++ = (bAlpha << 12) | 0x0fff;

else

*pDst16++ = 0x0000;

}

pDstRow += d3dlr.Pitch;

}

_pTexture->UnlockRect( NULL );

}

else

{

// 计算当前空闲的Char在缓冲中是第几个

int at = it-_vBuf.begin();

// 得到这个字的坐标

tX = (at % _RowNum) * _TextSize;

tY = (at / _RowNum) * _TextSize;

}

}

以上代码中的注释已经很清楚了,相信无须我多言。这里唯一需要声明的是:原来所定义的Char结构是这样的

struct Char{

char hz[3]; // 保存汉字

int frequency;// 使用频率

RECT rect; // 这个字对应位图的区域

Bool isUsing; // 是否使用

}

后来因为将char hz[3]合成为WORD,所以改为WORD hz。然后对于int frequency,这个词频应该如何表现,我一直没有想到很好的方法。frequency应该在何时++呢?是在每次被使用的时候吗?但是这样的话,上面说过,游戏是以60fps的速度在刷新,如果停上1分钟的话,变量很快就会溢出了。就算是使用像是DWORD或__int64这样的巨型变量保存,也是不安全的。除非能在某个合适的时候将frequency清零,但是这个“时候”是什么时候呢?或者设置一个最大值,如65535,但是这样也基本上没什么用途,很快,所有在vector 中的Char中的frequency都会++成65535的。回忆一下最初,是因为想把常用字放到vector 的前面,以便每次find操作可以最快返回结果的。而经过我的测试,即使不做这样的优化操作,速度也是很快的,毕竟Cache不是很大,加上vector是连续内存空间。所以可以放弃使用int frequency。

然后对于RECT rect,因为没有了int frequency,意味着一旦将汉字写入到Texture,

其位置就不会变动了。所以,很容易根据find函数操作后的iterator,直接计算出这个汉字所在Texture的位置。这样,RECT rect也不再必须。

而bool isUsing,它本身就是个鸡肋,要也可以,这样结构更加清晰。不过,直接通过观察WORD hz为0或非0,即可实现isUsing的作用了。

为什么要对结构Char这么精雕细琢呢?

1.既然没有必要的东西,就应该删除

2.Char结构的大小越大,vector所要求的内存越大

3.小的结构,find可以更快地查找出所结果

为什么find会正常工作呢?这里我要大概地讲一下find是如何查找出所需的位置的:它只是简单地使用while从vector的begin一直遍历到end,逐个判断,直到找到为止。find要求必须实现自己的operator ==(),进一步跟踪到find的源码中,发现也是这样。于是前面的结构Char变成了现在这样:

struct Char{

WORD hz; // 文字

Char() : hz(0) {}

// 用作查找文字

inline bool operator == ( WORD h ) const

{

return hz==h ? true : false;

}

};

是不是很简单?^___^

终于到了显示的函数了:

// 得到文字在纹理中的位置

bool CFont::

/*-------------------------------------------------------------

char szText[] --- 显示的字符串

int x --- 屏幕坐标x

int y --- 屏幕坐标y

D3DCOLOR --- 颜色及alpha值

int nLen --- 字符串长度

float fScale --- 放大比例

-------------------------------------------------------------*/

TextOut( char szText[], int x, int y, D3DCOLOR color, int nLen, float fScale ) {

Assert( szText!=NULL );

float sx = x, sy = y,

offset=0, w=0, h=0, tx1=0, ty1=0, tx2=0, ty2=0;

w = h = (float)_TextSize * fScale;

char ch[3] = {0,0,0};

FONT2DVERTEX * pVertices = NULL;

UINT wNumTriangles = 0;

_pVB->Lock(0, 0, (BYTE**)&pVertices, D3DLOCK_DISCARD);

if ( -1 == nLen || // 默认值-1

nLen > lstrlen( szText ) ) // 如果nLen大于字符串实际长度, 则nLen=实际长度

nLen = lstrlen( szText );

for (int n=0; n

{

ch[0] = szText[n];

if ( ch[0]=='\n' )

{

sy+=h;

sx=x;

continue;

}

if ( ch[0] & 0x80 )

{

n++;

ch[1] = szText[n];

offset = w;

}

else

{

ch[1] = '\0';

offset = w / 2 ;

}

int a, b;

Char2Texture( ch[0], ch[1], a, b );

// 计算纹理左上角 0.0-1.0

tx1 = (float)(a) / _TextureSize;

ty1 = (float)(b) / _TextureSize;

// 计算纹理右上角 0.0-1.0

tx2 = tx1 + (float)_TextSize / _TextureSize;

ty2 = ty1 + (float)_TextSize / _TextureSize;

// 填充顶点缓冲区

*pVertices++ = FONT2DVERTEX(sx, sy + h, 0.9f, color, tx1, ty2);

*pVertices++ = FONT2DVERTEX(sx, sy, 0.9f, color, tx1, ty1);

*pVertices++ = FONT2DVERTEX(sx + w, sy + h, 0.9f, color, tx2, ty2);

*pVertices++ = FONT2DVERTEX(sx + w, sy, 0.9f, color, tx2, ty1);

*pVertices++ = FONT2DVERTEX(sx + w, sy + h, 0.9f, color, tx2, ty2);

*pVertices++ = FONT2DVERTEX(sx, sy, 0.9f, color, tx1, ty1);

wNumTriangles+=2;

sx+=offset; // 坐标x增量

}

_pVB->Unlock();

_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, wNumTriangles );

return true;

}

结束语

记得有一句名言: Keep it simple and stupid.在实现功能的同时,保持代码简单、清晰是非常重要的一件事。相信在往后的日子里,在不论是别人阅读或是你自己回顾的时候,你都会发现一如既往地遵守这个守则,是多么得重要!

相信通过上面我那无数的废话,加上代码中还算足够的注释,聪明的你一定能够明白这其中的原理了吧。如果以上的内容还不足以让你完全搞清楚的话,你可以登录我的主页:

炎龙工作室

上面不仅包括了上面所写的程序代码,还有一个用来演示效果的一个很简单的demo。

说明,以上所实现的CFont是包含在我的游戏引擎中的一个部件,而目前已经实现的部件包括有:

1.CGameFrame(游戏框架类) ----- 封装了窗口及D3D设备的建立,需要派生出

自己的子类

2.CAudio和CSound(声音类) ----- 支持wav/mid/mp3的播放

3.CDirectInput(控制类) ----- 键盘、鼠标操作

4.CDirectShow(视频类) ----- 支持avi/mpg/mov等的播放

5.CSpriteX(精灵类) ----- 方便游戏中对精灵的控制

6.CFont(字体类) ----- 中英文字体的显示

7.CTimer(时间类) ----- 高精度时间的控制

8.FPS(fps 类) ----- fps的计算

9.LOG(日志类) ----- 游戏中的错误反应以及状态记录

最重要的是,这个Game Engine完全是开放源代码的。关于更新的情况、版本说明以及源码下载,请随时关注我的主页!

接下来,我将会继续完善这个Engine,可能加入的有:高效粒子系统、斜45度角地图……

12种巧记字形的方法

巧记字形方法多 主持人:收音机前的同学们,大家晚上好,欢迎收听龙广97频道的《名师学堂》节目,我是主持人小清。 我们在今天的节目现场还请来了奋斗小学二年级的各位同学们,欢迎你们。 首先我有一个问题问问现场的小同学们,你们都喜欢看书吗?(喜欢)(不喜欢) 书上的汉字你们都认识吗?(有的人是有的不认识) 不认识的字你们怎么才能认识呢?(问老师、问妈妈) 老师和妈妈是怎么教你们认字的?(现场随机提问) 那你们觉得书上不认识的字好学吗?(不好学,告诉好多遍都记不住) 你们喜不喜欢学那些不认识的字呀?(不喜欢,太枯燥了,不好玩) 那你们想不想让那些不认识的字变得好学好玩呢?(想) 特别想吗?大点声告诉我!(特别想) 好,今天呀,我就给你们请来了一位特别有本事的老师,这位老师能把字变成好听的歌,你们想不想听?(想听) 好,那现在《名师学堂》开讲了——上课铃声—— 有请哈尔滨市桥南小学赵家财老师(背景介绍:赵家财老师…… 主:赵老师你好 赵:主持人好,同学们好! 同:老师好! 主:赵老师,听说您在教孩子们识字方面有一个独门功夫! 赵:谈不上什么独门功夫,只是在多年的教学当中,针对孩子们识字困难,自己爱琢磨,总结出来一些小方法,让孩子们喜欢上识字。 主:今天现场有好多同学都表达了自己不愿意识字的心情,您能让他们从今天开始就喜欢识字吗? 赵:我试试看吧! 主:好,那下边的时间就交给您了。 (赵老师和现场的同学们进行互动) 好的,同学们好!很高兴参加《名师学堂》这个节目,希望我讲的一些识字方法,对大家有一些帮助。 学习汉字我们不但要读准字音、理解字义,更要记住字形。记住字形是汉字学习的重点和难点。如果字形记不住,就会导致提笔忘字,写错别字等现象,影响阅读和表达,甚至会闹出笑话: 下面我先来讲一个关于写错别字的笑话。 有个同学在日记中写道:“今天下着小雨,我忘了带命,突然,我看见老师给我送命来了。”看完这句话,我笑得肚子都快疼起来了,原来他把“伞”写成“命”了。 我还听过这样一个笑话。一个中学生放暑假,去农村体验生活,住在房东老大娘家,老大娘十分关心他。有一天他给父母写了一封信:“爸爸妈妈,我现在住在房东老大狼家,和老大狼住在一起,每天早上她都把我咬醒……”父母看了他的信大惊失色,忙叫道:“快救救我儿子,他每天都跟狼在一起啊……”原来他把娘写成了狼,把叫写成了咬。 如果字形记不住,不但会闹出笑话,更为严重的是:一个错字还能导致一场战争的失败。我再给大家讲一个真实的故事。

儿歌、顺口溜识记同音字和形近字

儿歌、顺口溜识记同音字和形近字 我们祖国的汉字十分神奇,几个简单的笔画就可组成有灵气的汉字。关于汉字的构造规律,古代人把汉字分为象形、指事、会意和形声四种汉字造字法。其中大部分汉字是形声字,而且有些字非常相像,这些被称为形近字。学生们在平时的学习中,经常容易把形近字和同音字混淆。为此,我们可以启发学生用一些形近字和同音字编儿歌或顺口溜,通过诵读儿歌或顺口溜的形式来熟记汉字。 一、形近字辨析 1.“兔”和“免” “兔”与“免”,作对比,有点无点各有理。“兔”字为啥多一点?点儿就是“兔”标记。“免”字无点啥道理?是“免”点就要免去。加点“免”字不高兴,去点“兔”儿要生气。小朋友,细区别,白兔不免夸奖你。 2. 辩、辨、瓣、辫 辩论要用言,辨别加撇点,花瓣、豆瓣都用瓜,女孩用丝扎小辫 3.间、问 间、间,小日回家大门关。问、问,小口敲门别开门。 4. 针、钉 针里有钉,钉里有针,修凳用钉不用针,补衣用针不用钉。 5.左、右左下工,右下口。 6. 噪、躁、澡、燥 乱喊乱叫有噪音,乱发脾气是急躁,身子脏了要洗澡,天不下雨地干燥。 7.衷、衰、哀 “口”中有竖读作“衷”zhōng,“口”中有横读作“衰”shuāi,“口”中横竖都没有,就把此字读作“哀”āi。 8. 渴、喝 渴时需水一口喝, 有水方解渴, 用口始能喝. 9. 间、闯、闪、闭、闲 日字进门挤时间,马字进门闯大祸,人字进门一闪过,关字进门闭上嘴,木字进门有空闲。 10. 戌、戍、戊 横‘戌’点‘戍’‘戊’里空 11. 己、巳、已 ‘己’开‘巳’闭‘已’居中。 12. “臣、藏、卧”与“颐、姬、熙” 奸臣藏在卧车里,想去京城看大戏。颐和园演《蔡文姬》,熙熙攘攘人拥挤。 13. 挠、烧、浇、绕、饶 身上痒,用手挠;做饭菜,火来烧;花要水,快来浇;织锦缎,把丝绕;有粮食,才富饶。 二、同音字辨析 1.“长”和“常” 同音字,“长”和“常”,字形字义不一样。长度长短和长远,各有所长比特长,都要用到这个“长”。“常”字用处也很广,时常反常和常识,常青经常都用“常”。 2.叮、钉、盯、订、厅 有口细叮咛,有金墙上钉,有眼盯着看,有言可订正,有厂进大厅,该用哪个字,仔细要分清。 3. 秒、吵、炒、抄、钞、妙 有禾时分秒;有口真吵闹;有火炒菜香;有手抄文章;有金钞票多;有女真奇妙。 4. 青、清、情、请、晴、睛

小学趣味语文游戏题

小学趣味语文游戏题 一、巧填人名,补全歇后语(9分) ( 包公 )审案 ---- 铁面无私 半路上杀出个( 程咬金 ) --措手不及(或“突如其来”) ( 猪八戒 )照镜子 ---- 里外不是人 ( 阿斗)当皇帝 ---- 软弱无能 ( 林冲)上梁山 ---- 官逼民反 ( 程咬金 )的斧子 ---- 头三下 ( 刘备)借荆州 ---- 有借无还 ( 孔明)借东风 ---- 巧用天时 ( 徐庶)进曹营 ---- 一言不发 ( 李逵)打宋江----过后赔礼 ( 董卓)进京 ---- 不怀好意 ( 窦娥)喊冤 ---- 怨天怨地 ( 黛玉)焚稿 ---- 忍痛割爱 ( 华佗)摇头 ---- 没救了 ( 韩湘子 )出家 ---- 一去不复返 ( 张飞)穿针 ---- 大眼瞪小眼 ( 赵匡胤 )穿龙袍 ---- 改朝换代 ( 项羽)砸锅 ---- 破釜没舟 二、在括号里填字将成语补充完整,所填的字组成了什么然后把你的发现写在横线上。(7分) 重于泰(山)(东)山再起同舟共(济)(南)征北战

人山人(海)(南)辕北辙五湖四(海)(口)是心非跃然纸(上)(海)阔天空人定胜(天)(津)津乐道掌上明(珠)(海)市蜃楼 所填的字组成了中国地名 三、中国历史上有很多“圣人”,你知道吗(7分) 诗圣——(杜甫)谋圣——(张良) 茶圣——(陆羽)酒圣——(杜康) 书圣——(王羲之)史圣——(司马迁) 文圣——(孔丘)草圣——(张旭) 医圣——(张仲景)武圣——(关羽) 画圣——(吴道子)兵圣——(孙武) 药圣——(孙思邈)科圣(木圣)——(张衡) 四、把下面的成语补充完整,再用所填的字组成语文中常用的术语:(6分) 甜言蜜(语)(文)质彬彬无恶不(作)(文)过饰非 生花妙(笔)(画)蛇添足死里逃(生)(字)斟句酌 不择手(段)(意)气风发物极必(反)(义)不容辞 五、你知道有八个字的成语吧请将下面八字成语补充完整:(14分) 一夫当关,(万夫莫开)一日为师,(终生为父) 一叶障目,(不见泰山)一人传虚,(万人传实) 一言既出,(驷马难追)一波未平,(一波又起)

[转载]趣味语文小游戏(很好玩哦)

[转载]趣味语文小游戏(很好玩哦) 标签Tags: 加载中… 发博文博文哈密瓜的博客 https://www.wendangku.net/doc/184337265.html,/u/1737401923[订阅][手机订阅] 首页博文图 片关于我更多个人资料哈密瓜进入我的空间播客微博博客等级:读取中… 博客积分:读取中… 博客访问:读取中… 关注人气:读取中… 相关博文 ,QQ 号交易申诉题目 五一原创:你的劳动,让谁快乐? 小浪 盘点往昔作文十大“流行金句” 空空道人 [转载]特别好玩的美女,你敢 花荣 [转载]律坛怪侠输得起,中国 律坛怪侠杨金柱 [转载]中国:让人尊敬并不难 徐小平 [转载]中国为什么不能诞生盖 桂杰 [转载]人去楼不空(文) 括苍山人 [转载]韩寒才登《时代》又上 超级核弹前线 [转载]谷村新司:天籁之声 巴菲特SMS

[转载]而我却今天才知道他的 孙云晓 [转载]我们都是木头人 猫六 更多>> 推荐博文 京城假日实拍:街头女孩清凉装景欣 basketball camp 蔡司巴丁格 上海世博会让孔子文化进一步走孔健_祥林 郑渊洁作品《秦薇》 郑渊洁 有关《福布斯》的排名 古天乐 在今天阅读的机会和挑战 张颐武 梦工厂,我的梦想。 老郑 新三国演义/三国演义/新版三国罗汉 医改法案只是奥巴马政治抱负的袁晓明(美国) [原创] 厦门五一表情:鼓浪屿游

厦门蜀人 查看更多>> 谁看过这篇博文加载中… 正文字体大小:大中小 [转载]趣味语文小游戏(很好玩哦)(2010-05-03 19:56:10)转载原文标签:转载原文地址:趣味语文小游戏(很好玩哦)作者:暈寳貝小鸭的午餐 游戏规则:鸭鸭要捉10条鱼当午餐,请用方向键来控制鸭子的游动。根据问题找出相对应的正确答案,求DNF河南二区交易群!,同时记清楚是哪条鱼,然后就可以美美地吃到鱼了。如果找错了答案,就会被鱼儿恨恨地咬一口,那滋味可不好受。限时3分钟,DNF传承太刀。 衣裤巧搭配 游戏规则:西西的衣服都晾起来了,qq免费开会员+四钻,你来帮他找件衣服穿吧!先找上衣,再找裤子。上衣上写着这个多音字的拼音,裤子上写着多音字的组词,西西抱着的牌子上是这个多音字词语的解释,要一一对应,可不要乱搭配哦!动作要快,不要超时。 迷路小企鹅 冰房子都是一样的,迷路的小企鹅找不着自己的家了。只要你能将小企鹅身上的词语与冰房子搭配,先点一下企鹅,再点冰房子,5173采办的完美国际帐号如何不被找回,小企鹅就能回自己的小屋了。看看在3分钟的时间内,你能把多少只企鹅送回家。 螳螂拍拍拍 游戏规则:坏螳螂又出来捣乱了,快打!螳螂举的牌子上有“阴(一声)、阳(二声)、上(三声)、去(四声)和轻声”,想好电视机上显示的词语中加点的字应该读哪个音,你就找出举着声调牌子的蟑螂,看准了拍下去,看看谁消灭的多哦! 啄木鸟医生 游戏规则:小树生病了,请来啄木鸟医生。到底哪棵树是病号就靠你的智慧了,如果找错了小树就会被啄木鸟医生啄光树页。看清题目,找出全部的正确答案。时限3分钟,看看你能救活几棵树。 翻板对对碰 游戏规则:西拉在家玩“翻板对对碰”,在规定的时间内把所有正确搭配的词语都翻出来,你就是赢家!不过,有好眼力和记忆力对你获得成功有更大的帮助哦! 排污工程师 游戏规则:排污管错位了,必须马上疏通,西拉自告奋勇担任排污工程师。请你帮助西拉,按照个排污管上所写句子的先后顺序,把错位的管道摆正确,点击管道右边的双向箭头可以交换管道的位置。 挑战高温 游戏规则:夏日炎炎,请你帮西西降温。根据拼音提示选择正确的答案放在括号中,要仔细拼读,千万不要填错了。两题都错温度就会升高,也会失去一次宝贵

韵母巧记口诀

巧记汉语拼音口诀大全汉语拼音 一、单韵母 6个 单韵母,很重要, 发音口形要摆好, 嘴巴张大 a a a , 嘴巴圆圆o o o , 嘴巴扁扁e e e , 牙齿对齐 i i i , 嘴巴突出u u u , 嘴吹口哨üüü。 记住字形读音 (形象记忆) a像阿姨梳小辫, 张嘴唱歌aaa. 一个圆图就是o, 嘴巴圆圆ooo。 e像白鹅玩倒立, 嘴巴扁扁eee. i字好象大头人, 穿件衣服iii. u像树上小鸟窝, 住只乌鸦uuu ü像一条大鲤鱼, 嘴里吐泡üüü。 二、声母[21个辅音+零声母(Y、W,)] 读声母,要留心, 堵住气儿再发音。 像个6字 b b b , 脸盆泼水p p p , 两个门洞m m m , 一根拐棍f f f , 左下半圆 d d d , 雨伞把子t t t, 一个门洞n n n ,一根小棍 l l l , 9字加钩 g g g , 机枪向上k k k, 一把椅子h h h , i下加钩j j j, 像个9字q q q , 一个叉字 x x x, 像个2字 z z z , 半个圆圈 c c c , 半个8字 s s s , z加椅子 zh zh zh, c加椅子 ch ch ch, s加椅子sh sh sh, 禾苗向日r r r 。 记住字形读音 (形象记忆) 特殊声母:(零声母) y字好像小树杈, 挂件衣服yyy。(衣) w字好像小屋顶, 乌龟小屋www。(屋) 三、韵母(单韵母6个+ 复韵母9个+前鼻韵母5 个+后鼻韵母4个,共24 个) 复韵母 9个 记住字形读音(形象记 忆) ai\ai\ai\ a+i 阿姨爱穿花衣服。 ei\ei\ei\ e+i 小鹅穿衣天上飞。 ui\ui\ui\ u+i 乌龟穿衣围圆圈。 ao\ao\ao\ a+o 阿姨好穿花棉袄。 ou\ou\ou\ o+u 前面O,后面U, 小孩好吃白莲藕。 iu\iu\iu\ i+u 前面i。后面u 一个乌龟来游泳 ie\ie\ie\ i+e 野鹅早饭吃树叶。 üe\üe\üe\ ü+e 小鱼拉鹅去看月。 er\er\er\ e+r 野鹅有个小小耳。 鼻韵母:不难学, 前五后四共九个。 an\an\an\ a+n 阿姨登上天安门。 en\en\en\ e+n 小鹅门前把铃摁。 in\in\in\ i+n 穿衣出门笑吟吟。 un\un\un\ u+n 乌龟门前修车轮。 ün\ün\ün\ ü+n 小鱼撞门头发晕。 后鼻韵母:4个 ang\ang\ang\ a+ng 安哥走路头高昂。 eng\eng\eng\ e+ng 恩哥干活哼哼哼。 ing\ing\ing\ i+ng 一件花衣送老鹰。 ong\ong\ong\ 0+ng 一窝小鹰嗡嗡嗡。 四、整体认读音节 16个 zh ch sh r z c s, 自成音节后加i 。

顺口溜巧记110个容易用错对象的成语

顺口溜巧记对象误用的成语 1、豆蔻年华:指十三四岁的少女。 【顺口溜总结】豆蔻年华女十三四。 2、美轮美奂:形容建筑物高大华丽。 【顺口溜总结】美轮美奂建筑物。 3、相敬如宾:指夫妻互相尊敬,如同对待客人一样。【顺口溜总结】相敬如宾夫妻敬。 4、破镜重圆:比喻失散或离婚后重新团聚。

【顺口溜总结】破镜重圆夫妻圆。 5、严阵以待:指摆好严整的阵势,等待来犯之敌。 【顺口溜总结】严阵以待待敌人。 6、青梅竹马:指男女幼年时亲密无间。 【顺口溜总结】青梅竹马幼男女。 7、休戚相关:忧喜、福祸彼此相关联,形容关系密切,利害相关,是褒义,含有“同甘共苦、利害一致”的意思。对象只能是指有祸福可言的人或以人为主体的集团、国家等,不能是无祸福可言的一般事物。

【顺口溜总结】休戚相关人相关。 8、空谷足音:人迹罕至的山谷听到人的脚步声。比喻难得的事物、音信或言论。 【顺口溜总结】空谷足音非足音。 9、筚路蓝缕:形容创业的艰苦。 【顺口溜总结】筚路蓝缕创业艰。 10、汗牛充栋:形容藏书非常多。 【顺口溜总结】汗牛充栋藏书多。 11、耳提面命:形容长辈对晚辈教导热心恳切。

【顺口溜总结】耳提面命长对晚。 12、三令五申:多次命令和告诫,指上级对下级,领导对群众。【顺口溜总结】三令五申上对下。 13、鱼龙混杂:优劣善恶等各种各样的人混杂在一起,对象不能只是坏人。 【顺口溜总结】鱼龙混杂有好人。 14、挥洒自如:形容举止潇洒,从容不迫。也形容写字或写文章,画画运笔不拘束。 【顺口溜总结】言举止或书画或写作。

15、大方之家:大方,大道理。指见多识广,学问深的人。【顺口溜】大方之家学问深。 16、老气横秋:形容人摆老资格,自以为了不起的样子。也形容人没有朝气、暮气沉沉的样子。对象不是老年人。 【顺口溜总结】老气横秋非老人。 17、人老珠黄:指妇女因为老了被轻视,就像珠子年代久了会变黄,不如新珠子值钱一样。 【顺口溜总结】人老珠黄老妇女。

最新英语形容词排列顺序巧记口诀

英语形容词排列顺序 一、大小、长短、形状+年龄、新旧+颜色+国籍、出处+材料+用途、类别 二、大哥限描大,二哥形龄颜,小弟籍物类,同站名词前。 限:限定词。the,my,a,this… 描:描绘性形容词。brave,beautiful,lovely,nice… 大:大小、高低、长短等形容词。big,large,small… 形:形状。round,square… 龄:年龄大小、新旧、年代等。young,old,new… 颜:颜色。red,blue,green… 籍:国籍、地区、出处。Chinese,America,Japanese… 物:物质材料的形容词。golden,wooden,wax… 类:表示类别、用途。medical,chemical,writing… 例:一个旧的很漂亮的黑色的日本式的方形木制小写字桌 A pretty little square old black Japanese wooden writing desk. 一件漂亮的中式新的短装红羊毛外套 A beautiful short new red Chinese woollen coat. 三、限定描绘大长高,形状年龄和新老;颜色国籍跟材料,作用类别往后排; “限定词”包括:冠词、物主代词、指示代词、或数词,它位于各类形容词前。它本身分为三位,即:前、中、后。前位限定词有all、half、both、分数和倍数;中位限定词有冠词、指示代词、物主代词等;后位限定词有基数词和序数词,但序数词位于基数词前。“大长高”表示大小、长短、高低等一些词。表示“形状”的词如:round square等。“国籍”指一个国家或地区的词。“材料”的词如:wooden, woolen, stone,silk等。“作用类别”的词如:medical, college,writing desk,police car等。 四、县官行令杀国材。 县,表示限定词;官,指的是冠词;行,表示性质的定语;令,表示年龄;杀,表示颜色;国,表示国籍;材,表示材料。 五、熟记规则:大小形状和新老,颜色国际出(处)材料 ①冠词、指示代词、不定代词、物主代词 +②序数词+基数词+ ③一般性描绘形容词 +④大小、长短、形状+年龄、新旧 +⑥颜色+ ⑦国籍、出处 +⑧材料 +⑨用途、类别 +⑩最终修饰的名词或动名词。 例如:a beautiful little red flower 一朵美丽的小花。 those four old-looking,grey,wooden houses

巧记汉语拼音口诀及五笔字根表

汉语拼音 巧记汉语拼音口诀大全(学习笔记整理) 汉语拼音 一、单韵母 6个 单韵母,很重要,发音口形要摆好, 嘴巴张大 a a a ,嘴巴圆圆o o o , 嘴巴扁扁e e e ,牙齿对齐 i i i , 嘴巴突出u u u ,嘴吹口哨ü ü ü 。 记住字形读音(形象记忆) a像阿姨梳辫子,张嘴唱歌aaa. o像公鸡早早起,嘴巴圆圆oo叫。 e像白鹅玩倒立,嘴巴扁扁eee. i字好象大头人,穿件衣服iii. u像树上小鸟窝,住只乌鸦uuu ü像一条大鲤鱼,嘴里吐泡ü ü ü 。 二、声母[21个辅音+零声母(Y、W,例如:安言忘云)]读声母要留心,堵住气儿再发音。 像个6字 b b b ,脸盆泼水p p p , 两个门洞m m m ,一根拐棍f f f , 左下半圆 d d d ,雨伞把子t t t, 一个门洞n n n ,一根小棍 l l l , 9字加钩 g g g ,机枪向上k k k, 一把椅子h h h , i下加钩j j j, 像个9字q q q ,一个叉字 x x x,

像个2字 z z z ,半个圆圈 c c c , 半个8字 s s s , z加椅子 zh zh zh, c加椅子 ch ch ch, s加椅子sh sh sh, 禾苗向日r r r 。 记住字形读音(形象记忆) 唇音: b字好象收音机,收听广播bbb(播).双唇不送气清塞音 p字好象水出盆,妈妈泼水ppp(沷).双唇送气清塞音 m字好象两扇门,蒙上眼睛mmm(摸).双唇鼻音 f像一根小拐棍,爷爷靠它fff(扶). 齿唇清察音 舌尖音:(舌尖中音,也叫舌翘音) d字好象小马蹄,跑起路来ddd.(得)舌尖中不送气清塞音 t像一把小雨伞,下雨打开ttt.(它)舌尖中送气清塞音 n像火车进隧道,赶快鸣笛nnn.(呢)舌尖中鼻音 l像一根大木棍,打跑老狼lll.(乐)舌尖中边音 舌根音(也叫舌面后音): g像9和弯镰刀,收割庄稼ggg.(割)舌面后不送气清塞音 k像大锤和凿子,雕刻石头kkk.(刻)舌面后送气清塞音 h像倒立小酒杯,装满美酒hhh.(喝)舌面后清擦音 舌面前音: j像一只小公鸡,圆圆眼睛jjj.(鸡)舌面前不送气清塞擦音 q像一面小红旗,迎风飘扬qqq.(旗)舌面前送气清塞擦音 x像西瓜切四半,娃娃吃瓜笑xxx.(嘻)舌面前清擦音 平舌音:(舌尖前音) z像一个数字2,娃娃写字乐zzz.(滋)舌尖前不送气清塞擦音 c像一只小刺猬,弯起身体ccc.(刺)舌尖前送气清塞擦音 s像树上蚕宝宝,吐丝织茧sss.(丝)舌尖前清擦音 r像田里小禾苗,向着太阳rrr.(日)舌尖前浊擦音 舌尖后音:(也叫翘舌音) z\c\s小酒鬼,见到酒杯(h)舌头翘,说话变成zh(蜘)\ch(吃)\sh(狮)。 zhi舌尖后不送气清塞擦音 chi舌尖后送气清塞擦音 shi舌尖后清擦音 特殊声母:(零声母) y字好像小树杈,挂件衣服yyy。(衣)齐齿呼 w字好像小屋顶,乌龟小屋www。(屋)合口呼 三、韵母(单韵母6个+复韵母9个+前鼻韵母5个+后鼻韵母4个,共24个)

形近字顺口溜

1、“戊、戍、戎、戌”四个形近字——“横戌点戍空心戊画个十叉就念戎”怎么样这下好区分了吧? 2、“巳己已”三个形近字——“堵巳不堵己半堵不堵就念已”。 3、“青”为声旁的形近字: 悟空改名叫青青,变化多端难学生:加水你说我是谁?清楚清晰河流清;借我竖心立身旁,热情待人情谊重;换个太阳拴腰间,天空晴朗好风景;肚子挂上一袋米,精干精心精神病…… 4、学生编顺口溜:“口渴需要水(三点水旁),喝水要用嘴(口)。” 5、“烤火变干燥,跺脚好急躁。”(“燥”和“躁”) 6、“有手才能推,有土是土堆,有言想问谁,“又”来一个——难啊!“(区分“推”、“堆”、“谁”和“难”。) 7、“辩”“辨”“辫”“瓣”: 花瓣落了结大瓜, 发丝来把小拌扎, 能言善语把理辩, 竖撇辨字笑开颜。 8、“像”和“相”两个形近字 “像”是根据物体本身画或雕刻出来的,虽然很像,但不是本身。比如“画像”、“雕像”、“塑像”等。“相”是原物体直接翻版的,即使可能不像,但就是本身呀。比如“相片”、“相册”、“照相”等。 9、“园”和“圆”两个形近字

而“圆”指跟圆形的物体有关的东西,比如:“圆圈”、“圆柱”、“椭圆”等。 10、“厂”和“场”两个形近字 “厂”是指生产、加工、或维修产品的地方或者是这里的负责人,比如:“工厂”、“修理厂”、“厂房”、“厂长”等。“场”指的是供人们休闲、娱乐、或消费的地方或者这里的负责人,比如:“广场”、“游乐场”、“商场”、“市场”、“农场”等。 11、燥、操、澡、噪、躁五个形近字 用水来洗澡, 伸手来做操, 噪音惹人恼, 有火能干燥, 脾气暴躁直跺脚。 12、烧、浇、绕、晓、挠五个形近字 有火才能“烧”, 有水才能“浇”, 用丝来缠“绕”, 有日见分“晓”。 13、如区分“衷、哀、衰”三个形近字,从它们字型的差异可编成顺口溜:中字衷(zhōng),口字哀(āi)横穿口字念作衰(shuāi) 14、“辍、啜、掇、缀”四个形近字,可从它们字意的差异编成顺口溜: 车跑日夜不辍(chuò),用口啜(chuò)泣难过, 用手可以拾掇(duò),用丝点缀(zhuì)山河。 15、如区分:“浃、挟、峡、狭、荚、陕”六个形近字,可从它们字型的差异

巧记英语形近词

孟姜女丈夫之死 干活和slave(奴隶) 河冲出wave(波浪) 就躲进cave(山洞) 但无人save(救助) 坚持是brave(勇敢的) 还是进grave(坟墓) slave / sleiv / n.奴隶,苦工vi.苦干,拼命干 以ave结尾的单词还有: wave / weiv /n.波,波浪,波涛;挥动 vt.挥动,向…挥手示意vi.挥手示意;波动,飘动;高潮,高涨 cave / keiv /n.山洞,洞穴vi.(in)塌落,倒坍 save / seiv / vt.救助,搭救;节省,免去;储蓄,积攒;保存vi.储蓄brave / breiv / adj.勇敢的 以rave结尾的单词还有: grave/ ^reiv / n.坟墓 adj.严重的;严肃的,庄重的 新年的饕餮 新年的eve(前夕) 挽起了sleeve 袖子) 庆目标achieve(完成) 把未来believe(相信) 把全家relieve(使宽慰) eve / i:v / n.前夜,前夕 以eve结尾的单词还有: sleeve / sli:v / n.袖子 achieve/ E5tFi:v / vt.完成,实现;达到vi.成功 believe / bi5li:v / vt.相信;认为vi.相信 以elieve结尾的单词还有: relieve / ri5li:v / vt. 缓解,减轻,解除;接替,替下 被鳄鱼骗下水的猴子 树上猴子five(五个) 被鳄鱼骗dive(跳水) five/ faiv / num.五,五个 fifteen/ 5fif5ti:n / num.十五 fifty / 5fifti / num.五十 以ive结尾的单词还有: dive / daiv /vi.跳水,潜水;俯冲,扑

字族韵文-根据一族字编顺口溜

字族韵文-根据一族字编顺口溜 字族韵文-根据一族字编顺口溜汉字根据部件(更多的指的是偏旁部首)的不同,分成了若干个部,如:“口”字部、“木”字部、“日”部、“月”字部等;这些不同的部件根据不同的造字【六书:象形、指事、会意、形声、转注、假借】原理又可组成不同的汉字。简言之,这就是字理。就是把汉字按相同的部件归类,然后编成短小精巧、结构工整、朗朗上口的韵文。根据字理识字,速度快,好记易懂。 例如:“青”字,是一个派生能力强的母体字;加上不同偏旁所派生的子体字如清、晴、请、睛等,集成一个字族;根据这一字族编写成文情并茂的诗文就叫字族文,或字族韵文。《小青蛙》 河水清清天气晴, 小小青蛙大眼睛。 保护禾苗吃害虫, 做了不少好事情。 请你保护小青蛙, 它是庄稼好卫兵。“门”部字 “一”字进门把门“闩”, “人”字进门“闪”一闪, “心”字进门“闷”得慌,

“木”字进门享清“闲”, “马”字进门“闯”天下, “日”字进门在中“间”, “口”字进门“问”问题, “市”字进门“闹”意见, …… “尧”字歌 用火烧,用水浇, 足旁节日踩高跷。 有羽翘,有日晓, 食旁祖国很富饶。 绞丝绕,提手挠, 人存侥幸很不好。像这样的字族还有“青、也、直、田、方……” 字族韵文关键是看这个字族中的字放在一组文字中所表现出来的知识性、思想性、趣味性,字的运用。看下面数例字族韵文便可略见分晓。皮--啵菠玻跛被坡破婆披 皮字朋友多 有土堆成坡有水波连波 碰石擦破皮跛足也爬坡 披衣床上坐被子多暖和 透过玻璃窗夕阳染山河

外婆来看我带来甜菠萝 青--清请情蜻晴精静菁 山村 天气晴河水清小青蛙大眼睛 蹦蹦跳真精神荷花开草菁菁 黄蜻蜓慢慢飞点点水立红菱 这个景很精彩小朋友请安静 留住它不容易环保事情记心中佥--脸签检剑俭捡鉴验险小学生八注意 小学生勤洗脸过马路防危险 生活上当勤俭做习题要检验 看见纸片弯腰捡游戏莫动刀和剑 别人长处要借鉴募捐灾区把名签皇--凰徨煌惶蝗 公鸡和蝗虫 日出天辉煌庄稼更茁壮 两只小蝗虫吃饱比漂亮 一只比孔雀一只比凤凰 一只称皇后一只称大王 公鸡走过来蝗虫心惶惶 公鸡不彷徨两只全吃光兆--挑佻眺跳逃桃姚 小猴偷桃

巧记汉语拼音口诀大全(老师推荐)

汉语拼音 汉语拼音用处大,识字读书需要它,帮助学习普通话,我们一起学好它。一、单韵母6个 单韵母,很重要,发音口形要摆好,嘴巴张大 a a a ,嘴巴圆圆o o o ,嘴巴扁扁e e e ,牙齿对齐i i i ,嘴巴突出u u u ,嘴吹口哨üüü。 记住字形读音(形象记忆) a像阿姨梳辫子,张嘴唱歌aaa. o像公鸡早早起,嘴巴圆圆oo叫。e像白鹅玩倒立,嘴巴扁扁eee. i字好象大头人,穿件衣服iii. u像树上小鸟窝,住只乌鸦uuu ü像一条大鲤鱼,嘴里吐泡üüü。 二、声母[21个辅音+零声母(Y、W,例如:安言忘云)]读声母要留心,堵住气儿再发音。像个6字 b b b ,脸盆泼水p p p ,两个门洞m m m ,一根拐棍f f f ,左下半圆d d d ,雨伞把子t t t,一个门洞n n n ,一根小棍l l l ,9字加钩g g g ,机枪向上k k k, 一把椅子h h h ,i下加钩j j j,像个9字q q q ,一个叉字x x x,像个2字z z z ,半个圆圈 c c c ,半个8字s s s ,z加椅子zh zh zh,c加椅子ch ch ch,s加椅子sh sh sh,禾苗向日r r r 。 记住字形读音(形象记忆)

唇音: b字好象收音机,收听广播bbb(播).双唇不送气清塞音p 字好象水出盆,妈妈泼水ppp(沷).双唇送气清塞音m字好象两扇门,蒙上眼睛mmm(摸).双唇鼻音f像一根小拐棍,爷爷靠它fff(扶). 齿唇清察音舌尖音:(舌尖中音,也叫舌翘音) d字好象小马蹄,跑起路来ddd.(得)舌尖中不送气清塞音t 像一把小雨伞,下雨打开ttt.(它)舌尖中送气清塞音n像火车进隧道,赶快鸣笛nnn.(呢)舌尖中鼻音l像一根大木棍,打跑老狼lll.(乐)舌尖中边音舌根音(也叫舌面后音):g像9和弯镰刀,收割庄稼ggg.(割)舌面后不送气清塞音k 像大锤和凿子,雕刻石头kkk.(刻)舌面后送气清塞音h像倒立小酒杯,装满美酒hhh.(喝)舌面后清擦音舌面前音:j像一只小公鸡,圆圆眼睛jjj.(鸡)舌面前不送气清塞擦音q 像一面小红旗,迎风飘扬qqq.(旗)舌面前送气清塞擦音x 像西瓜切四半,娃娃吃瓜笑xxx.(嘻)舌面前清擦音平舌音:(舌尖前音) z像一个数字2,娃娃写字乐zzz.(滋)舌尖前不送气清塞擦音c像一只小刺猬,弯起身体ccc.(刺)舌尖前送气清塞擦音s像树上蚕宝宝,吐丝织茧sss.(丝)舌尖前清擦音r像田里小禾苗,向着太阳rrr.(日)舌尖前浊擦音舌尖后音:(也叫翘舌音)

【免费下载】极有趣味的语文游戏 适合语文课堂教学

极有趣味的语文游戏-适合语文课堂教学 极有趣味的语文游戏玩法: 第一轮:选拔题 1、成语对对子(注意对仗要工整,意思要相对)。 例:粗茶淡饭(山珍海味) 答案:流芳百世(遗臭万年)指鹿为马(点石成金)精雕细刻(粗制滥造)雪中送炭(锦上添花)伶牙利齿(笨嘴拙舌) 2、说出有“舌”字的成语,说得最多的胜出。 答案:七嘴八舌、妄口八舌、闲嘴淡舌、唇枪舌剑、张口结舌、笨嘴笨舌、鹦 鹉学舌等。 3、各举出以一、二、三、四、五、六、七、八、九、十开头的俗语(包括成语、惯用语等)。 例如:一是一,二是二 答案:一不做,二不休一心一意二一添作五三心二意三下五除二三人同行,必有我师四通八达五花八门六六大顺七上八下八九不离十八仙过海,各 显神通九九归一九牛二虎之力十有八九十拿九稳 4、下面人名各取自什么成语? 杜鹏程(鹏程万里)陈残云(风卷残云)王任重(任重道远)刘海粟 (沧海一粟) 丁慧中(秀外慧中)焦若愚(大智若愚) 5、成语填空 第一组:(心)服(口)服(以)德(报)德(以)讹(传)讹(以)牙(还)牙(倚)老(卖)老(将)计(就)计 第二组:神(乎)(其)神精(益)(求)精痛(定)(思)痛欺(人)(自)欺

日(复)(一)日微(乎)(其)微 8、怪体诗如何读? 龙 虎虎 望 山山山 湖湖湖湖湖 海海海海 会 仙仙仙仙仙仙仙仙 (一龙二虎望三山,五湖四海会八仙) 第二轮: 初级 1、“大珠小珠落玉盘”所形容的是什么乐器的弹奏声? A、琵琶 B、古筝 C、扬琴 2、《孔雀东南飞》里,刘兰芝"十三能织素,十四学裁衣,十五弹箜篌,十六诵诗书”,请问,“箜篌”是什么乐器: A、拨弦乐器 B、击弦乐器(A) 3、"有板有眼"的"板"是我国传统音乐节奏中的: A、强拍 B、弱拍(A)

形近字顺口溜

形近字顺口溜 1、“戊、戍、戎、戌”——“横戌点戍空心戊画个十叉就念戎”怎么样这下好区分了吧? 2、“巳己已”——“堵巳不堵己半堵不堵就念已”。 3、“青”为声旁的字: 有水方说清,有言去邀请;有目是眼睛,有心情意浓; 丽人留倩影,日出天气晴;有虫是蜻蜓,有米人精神。 4、学生编顺口溜:“口渴需要水(三点水旁),喝水要用嘴(口)。” 5、“烤火变干燥,跺脚好急躁。”(“燥”和“躁”) 6、“有手才能推,有土是土堆,有言想问谁,“又”来一个——难啊!“(区分“推”、“堆”、“谁”和“难”。) 7、“辩”“辨”“辫”“瓣”: 分辨辨认看分明,点撇是眼瞧得清。辩解辩论要用嘴,言字在心才能行。 一根小辫头上晃,绞丝缠绕辫不松。几瓣西瓜红艳艳,别忘瓜在花瓣中。 8、区分带“青”字旁的字: 悟空改名叫青青,变化多端难学生:加水你说我是谁?清楚清晰河流清;借我竖心立身旁,热情待人情谊重;换个太阳拴腰间,天空晴朗好风景;肚子挂上一袋米, 精干精心精神病…… 2、“像”和“相” “像”是根据物体本身画或雕刻出来的,虽然很像,但不是本身。比如“画像”、“雕像”、“塑像”等。“相”是原物体直接翻版的,即使可能不像,但就是本身呀。比如“相片”、“相册”、“照相”等。 3、“园”和“圆” “园”指四周围有围墙的地方,如:“校园”、“公园”、“花园”、幼儿园等,而“圆”指跟圆形的物体有关的东西,比如:“圆圈”、“圆柱”、“椭圆”等。

4、“厂”和“场” “厂”是指生产、加工、或维修产品的地方或者是这里的负责人,比如:“工厂”、“修理厂”、“厂房”、“厂长”等。“场”指的是供人们休闲、娱乐、或消费的地方或者这里的负责人,比如:“广场”、“游乐场”、“商场”、“市场”、“农场”等。 ?顺口溜骂人 ?网络顺口溜 ?小学英语顺口溜

二年级上册编顺口溜记生字

二上编顺口溜,记生字 这些顺口溜是我三年前教二年级时编的,现在收集在这里,希望对大家一些帮助: 识字1 秋:秋天枫叶红似火。 烟:火字旁,一方框,一个大字里面藏。 夕:夕阳下山半个多。 归:短竖长撇倒过的山,归舟上面两张帆。(大家可以联系课文的插图,让学生仔细观察图画后,得出这个儿歌。一方面记住了这个字,另一方面教会了孩子观察的方法。) 灯:小丁丁,开电灯。(大家对于这句儿歌不会太生) 郊:先写六字头,二写撇点叉,第三又耳旁,一竖要写长。(既记住了结构,又讲到了写法。)兔:撇刀头一个口,一撇竖弯钩,尾巴不要丢。 逐:家字去掉宝盖头,加个走之就是逐。 识字2 这一课的生字还真有些难度,下面凑和了两个,算是交差吧。希望大家都来动动脑子。礼:示字旁,坚折钩,文明礼貌记心头。 炮:火字旁加个包,鬼子一来放大炮。 狂:犬旁加王就发狂。 州:川字中间三滴水,神州大地山河美。 识字3 尖:上面小,下面大,不是尖,是什么? 尾:尸头下毛是尾巴。 匹:左方框,小儿藏。 桌:上字头,日字肚,一个木字要顶住。 歪:不正就是歪。 识字4 准:两点水,一个人,一个主字多一横。 莫:草字头,日中央,一个大字在下方。 脚:月亮去掉单耳旁。 两:(曾经编过“满”字是“三点水,草字头,两个小人打滴溜。”联系这个字很好记。)瞄:射击要用眼睛瞄。 喵:口旁加苗是猫叫。 猫:犬旁加苗是小猫。 锚:金旁加苗是铁锚。 尖:小字在上丢了钩,大在下面缩回头. (指导写字) 1秋游 师:一竖短,一撇长,毛巾挂在横杆上。 凉:北京只有两点水。 追:一撇一竖两半口,加个走之追着走。 2 2008北京 句:一撇横折钩,口字在里头。 此:一些去掉二。 汇:三点水,左方框。 亮:高字头,秃宝盖,一个几字藏起来。 国:一块玉,真珍贵,一个方框四面围。

巧记形近字

巧记形近字 河北省深州市长城小学韩俊敏中国的语言文化博大精深,中国的汉字文化也是一个巨大的宝库。在这个。宝库中有许多汉字长的十分相似,很难区分特别是对于小学生来讲这是一件十分头痛的事情,今天我将几组形近字以组词编故事的形式进行区分: 1、今与令:这两个字仅有一笔之差长的十分相似,困扰了好的学生好长时间,为了使同学 们能认清、认准,我给学生们讲了一个小故事:“令”字可以组词“令牌”,在古代皇帝传达命令后会让大臣拿一块令牌,令牌是什么样的呢?是一块牌子,这块牌子就像“令” 字下面的一点,这样同学们一下子就记牢了,皇帝传达命令要用一块牌子这块牌子就是“令”下面的一点,所以“令”要多一点,这样“令”跟“今”一下子就区分清了。2、酒与洒:这两个字长的好像双胞胎,那如何区分呢?“酒”可以组词“酿酒”“美酒” 是琼浆玉液,味道十分美那这么美妙的东西酿造时肯定要费一番功夫,“水”可以组词“洒水”同学们都知道扫地时要洒水,那洒水大家都会可是酒怎样酿呢?同学们肯定不懂,但是大家肯定知道“酿酒”肯定要比“洒水”困难,所以“酒”要比“洒”难写所以“酒”写起来就要比“洒”字多一道程序多一横。我感觉这样讲起来同学们就比较容易区分记清了。 3、买与卖:买卖这两个字都与商业有关“买”可以组词“买东西”俗话说“顾客是上帝” 买东西是比较容易拿着钱就可以买了三岁的小孩都可以那着一毛钱去买糖,但是买东西就不一样了需要向别人介绍,推销产品,这肯定不是三岁小孩能做到的,所以容易写的是“买”,不容易写的笔画多的就是“卖”。 4、休与体:这两个字也很难区分,“休”可以组词“休息”,“体”可以组词“体育”上体 育课就要用到标枪,铅球等运动器材,休息什么都不用,上体育课用到的多所以“体” 要比“休”多一横。 以组词编故事的形式区分形近字简单、清楚、准确,使我和学生们受益匪浅。教学中的小小收获和大家共享,希望我们共同努力巧记形近字

最新整理二年级趣味语文教案

最新整理二年级趣味语文教案 拟定好教案能有效开展教学工作,提高教学效率。下面就是小编整理的二年级趣味语文教案,一起来看一下吧。 教学目标 1.通过汉字游戏,感受汉字的独特韵味。 2.拓展学生的语文知识,促进学生的积累,培养学生的理解能力。 3.激发学习语文的兴趣,培养学生查阅资料的习惯。 4.能自己发明一些智解汉字的游戏。 教学重难点 1.唤起学生的汉字积累,激发兴趣。 2.引导学生充分发挥想象,创造性学习、积累汉字。。 教学过程 一、激趣导入,引出话题 1.讲故事:齐白石题字喻客 齐白石是我国著名的画家,他的画闻名国内外,被很多博物馆收藏。很多学画的人,有的要拜他做老师,有的拿了画向他请教,也有的学生作品获奖了,来向他表示感谢。总之,齐白石的家门前总是很热闹。 有一天,几个学生要去拜见齐白石。他们刚想敲门,却看见门上写着一个“心”字。他们觉得奇怪,只见过门上写“福”字的,写“心”字是什么意思?这时,有一个学生忽然说:“我明白啦!”说着,拉着同伴就离开了。第二天,他们又来到齐白石门前,只看见门上换了一个“木”字,大家高兴极了,马上敲门进去,拜见了齐白石。 同学们,你们知道为什么他们第一次不敲门进去找齐白石先生,而第二次却高兴地进门拜访呢?门上面到底有什么秘密? 2、揭示门上的汉字:第一次是“闷”(表示主人今天心情不好,不想被打扰);第二次门上写着“闲”(说明主人今天很悠闲,可以接待客人,因此他们才高兴地进门拜访)。

3、同学们,看到了吧?我们中国的汉字就是这么神奇,简单的一个字再加上另一个字,就表达完全不同的意思,还能表达我们的情绪,有意思吧?今天,我们就一起走进汉字王国,去领略它的神奇! 二、填字游戏 1、进“门“填字 以上故事讲的是在“门”字中加字组成新字的故事,这样的字还有很多,试着填填下面的空格吧! 才字进门()双眼;活字进门摆()气;口字进门()声好; 日字进门站中();市字进门看热();马字进门别乱(); 虫字进门去()南;王字进门是()年;圭字进门是()房; 耳字进门听新();兑字进门()报刊;一字进门把门()。 2、“口”中含字 一次,小明看见邻居李大爷要砍掉院子里的一棵大树,他不明其意便问道:“这棵树长得好好地,您为什么要砍掉它呢?”李大爷说:“你看,这院子方方正正的,里面长一棵树,就好像是个困字,这是多么不吉利啊!”小明听后,就用树枝随手在地上写了一个字,然后说:“您看。照您的意思,砍掉这棵树,人住在这方正院子里,不是更不吉利了吗?”李大爷看了小明写在地上的字,觉得很有道理,就不再砍树了。 请问,小明写的是一个什么字? 你还能想到在“口”中填一个字,变成新的一个字吗? (比如因、圆、圈、田、固……) 3、总结:同学们发现没有,用这样的学字方法我们可以一下子记住好多新字,而且还能很快理解这个字的意思,是不是有趣又有用呢? 三、巧添笔画成新字 1、“二”的妙用 语文老师上课时出了一道很特别的题目,要求大家将下面的16个方格中的每个“二”字加上两笔,使其组成16个不同的字,你也试一试吧! 答案:夫、开、井、王、丰、毛、牛、手、天、午、五、元、云、月、仁、无

四年级下册心理教案记忆秘籍 教学设计

记忆秘籍 教学主题: 本节课旨在通过活动和体验,让学生认识和初步掌握三种记忆方法,分别是谐音记忆法、组块记忆法和口诀记忆法,并能进行初步运用。除此之外,还让学生认识艾宾浩斯遗忘曲线,知道遗忘有规律,需要及时复习才能记得牢固。综合灵活地使用记忆方法,学习便能事半功倍。 教学理念: 随着年龄的增长和知识量的增加,单纯的机械性的记忆越来越成为学生学业进步的障碍。学生迫切需要掌握高效的记忆方法来帮助自己更快更好更牢固地掌握学习材料,减轻记忆负担,提高学习兴趣和积极性。 教学目的: 1、通过活动和体验,让学生初步掌握三种记忆方法,并能学以致用;认识艾宾浩斯遗忘曲线,知道遗忘有规律。 2、帮助解决学生记忆困难,让学生记得轻松,学得快乐。 3、让学生懂得综合灵活地使用记忆方法,学习才能事半功倍。 教学重点和难点:让同学们初步掌握三种记忆方法,并能学以致用 教学形式:活动+体验 教学时间:40分钟 教学年级:四年级 教学过程: 一、活动准备阶段: 1、数字游戏 2、观看《最强大脑》中挑战者比赛时的精彩片段。 3、引出课题 记忆是有方法的。今天老师就跟大家一起去探讨几种记忆方法,一起去寻找开启记忆宝库的金钥匙。(设计意图:让学生感受强大的记忆力带来的震撼,让拥有强大记忆力变成学生的内驱力,激发学习兴趣。) 二、活动体验阶段:记忆训练营 1、谐音记忆法 (1)奇妙大殿:这座大殿门口张贴着很特别的对联:左联是88255288,右联是 52881314 。 你能想出办法记住这副对联吗?请学生说自己的方法。 老师小结:这就是我们要寻找的第一把开启记忆宝库的金钥匙——谐音记忆法。谐音记忆法,就是利用读音的相近或相同,把所记内容与已经掌握的内容联系起来记忆。 (设计意图:通过讨论如何记住这副对联,引出谐音记忆法。)

多音字巧记口诀(终审稿)

多音字巧记口诀 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

巧记多音字170多个多音汉字一句话总结 1、单:单(shàn,姓)老师说,单(chán匈奴首领)于只会骑马,不会骑单(dān)车。 2、折:这两批货物都打折(zhé)出售,严重折(shé)本,他再也经不起这样折(zhē)腾 了。 3、喝:武松大喝(hè)一声:“快拿酒来!我要喝(hē)十二碗。”博得众食客一阵喝(hè) 彩。 4、着:你这这是绝着(zhāo),让他干着(zháo)急,又无法着(zhuó)手应付,心里老是 悬着(zhe)。 5、蕃:吐蕃(bō)族在青藏高原生活、蕃(fán)衍了几千年。 6、量:有闲心思量(liáng)她,没度量(liàng)宽容她。野外测量(liáng)要量(liàng) 力而行。 7、沓:他把纷至沓(tà)来的想法及时写在一沓(dá)纸上,从不见他有疲沓(ta)之色。 8、烊:商店晚上也要开门,打烊(yàng)过早不好,糖烊(yáng)了都卖不动了。 9、载:据史书记载(zǎi),王昭君多才多艺,每逢三年五载(zǎi)汉匈首脑聚会,她都 要载(zài)歌载(zài)舞。 10、曝:陈涛参加体育锻炼缺乏毅力、一曝(pù)十寒的事情,在校会上被曝(bào)光, 他感到十分羞愧。 11、宁:尽管他生活一直没宁(níng)静过,但他宁(nìng)死不屈,也不息事宁(níng) 人。 12、和:老王说话和(hé)气,但对别人的意见随声附和(hè)。因此,在一个暖和 (huo)的天气里,某人见 他在和(huó)泥抹墙,就诙谐地说:“老王,你现在才是真正的‘和(huò)稀泥’!”他说:“有人麻将桌上和(hú)牌了。” 13、省:湖北副省(shěng)长李大强,如能早些省(xǐng)悟,就不致于丢官弃职、气得不省(xǐng)人事了。 14、拗:这首诗写得太拗(ào)口了,但他执拗(niù)不改,气得我把笔杆都拗(ǎo)断 了。 15、臭:臭(chòu)气熏天的臭是指气味难闻,无声无臭(xiù)的臭是泛指一般气味。 16、度:度(dù)老师宽宏大度(dù),一向度(duó)德量力,从不以己度(duó)人。 17、哄:他那像哄(hǒng)骗小孩似的话,引得人们哄(hōng)堂大笑,大家听了一哄 (hòng)而散。 18、丧:他穿着丧(sāng)服,为丧(sāng)葬费发愁,神情沮丧(sàng)、垂头丧(sàng) 气。 19、差:他每次出差(chāi)差(chà)不多都要出点差(chā)错,做的事情参差(cī)不 齐。 20、扎:鱼拼命挣扎(zhá),鱼刺扎(zhā)手了,他随意包扎(zā)一下。 21、埋:他自己懒散,却总是埋(mán)怨别人埋(mái)头工作。 22、盛:盛(shèng)老师盛(shèng)情邀我去她家做客,并帮我盛(chéng)饭。 23、伧:这个人衣着寒伧(chen),语言伧(cāng)俗。 24、创:勇于创(chuàng)造的人,难免会遭受创(chuāng)伤。 25、伯:我是她的大伯(bó),不是她的大伯(bǎi)子。 26、疟:发疟(yāo)子就是患了疟(nǜe)疾。

相关文档
相关文档 最新文档