Anfy BumpMap 1.1 - Copyright (C) by Martin Zettergren 1997/98 This applet shows a lightsource over a "bumpy" surface which casts shadows depending on where the light origins from. The applet can use any picture in any size and it can optionally have an separate bump-image, which must be the same size as the picture. The files needed to make this work are: anfybump.class anfy.class Lware.class You must upload these 3 files and insert the tag on your html document to add this applet to your page. You must also upload the images you use for the bumpmap and optionally the scrolltext file. This applet is fully parametrized, so you can generate bumpmaps after your own needs. Below is a brief explanation of the parameters supported in this version: ; Name, Width, Height ; Register code (if you have it) ; URL where go optionally when clicked ; Reglink opened in new frame? ; Name of new frame for reglink ; Statusbar message ; resolution (1-8) ; Image to load ; optional bump-image ; Bump Height ; light x-dir movement ; light y-dir movement ; size of lightsource ; Interaction ("ON" .. "OFF") ; File for scrolltext or "NO" ; Txtscroll y offset ; Txtscroll speed ; Txtscroll font name ; Txtscroll bold ("YES" or "NO") ; Txtscroll font size ; Txtscroll shadow ("YES" or "NO") ; Txtscroll color (red component) ; Txtscroll color (green component) ; Txtscroll color (blue component) ; Txtscroll shadow col. (red c.) ; Txtscroll shadow col. (green c.) ; Txtscroll shadow col. (blue c.) ; Txtscroll jump aplitude ; Txtscroll jump speed ; Txtscroll sineshape amplitude ; Txtscroll sineshape movement ; Txtscroll sineangle / pixel ; Memory deallocation delay ; Task priority (1..10) ; Min. milliseconds/frame for sync ; Message for no java browsers. Sorry, your browser doesn't support Java. ; End of applet tag NOTE: Don't place "; comments" on final HTML!!! Copy and paste in your html document this cleared and correct tags: Sorry, your browser doesn't support Java. --------- Here are detailed instructions about how to change parameters: The credits parameter can't be changed otherwise the applet will not work. To activate the reg parameters read the shareware registration notes. In the "regcode" parameter you have to place the registration code you purchase from the author. If it is correct and the applet is run from the registered domain name, you can use "reglink" parameter, where you can specify an URL where bring user when the applet is clicked. If you set to "YES" regnewframe, you can specify a frame where load the reglink: "_blank" : To load the link in a new blank unnamed browser window. "_self" : To load the link into the same window the applet occupies. "_parent" : To load the link into the immediate FRAMESET parent. "_top" : To load the link into the top body of the window. Otherwise the frame name, for example "myframe1". Changing the width, and height of the applet will make the visible area of the bumpmap larger. You can have a width and height that are smaller than the picture to display, but it is recommended that you have the same dimensions on the applet's width and height as on the Image. If res=1, remember to place the exact size of image in "width" and "height" tags. If res=2, place double values, if res=3 triple values etc. In fact, res is a sort of zoomer. The "picture" param is the filename of the picture to display. Make sure that this picture is available, or the applet will of course not work. Remember that upper and lower case is very important, or the applet won't run on other machine's than PC. Example: Symb256.jpg should be written just like that, not SYMB256.JPG or sYmB256.jPG or something else. The "bump" param specifies if you want to use a separate bump-image or if you want to calculate it from the picture. The later is recommended since it takes up less bandwidth, and the calculated bump-image is run through some advanced filters to make it look realistic. Simply set this param to "NO" if you want to use a calculated image or to the filename of the bump-image if you want to use that alternative. Example: SymbBump.jpg or whatever your bump-image is called. The "bump_height" param controls the height of the bump. If set high the shadows are cast so that it apperars to be higher bumps in the picture. The "angle_x" param controls the movement of the lightsource in the horisontal direction. A higher value will make the lightsource go faster per frame horisontally. The "angle_y" param controls the movement of the lightsource in the vertical direction. A higher value will make the lightsource go faster per frame vertically. The "lightsize" params controls the size of the lightsource, ranging from 3 to whatever you would like. The size is calculated as 2^n, where n stands for the lightsize. A lightsize of 9 would give a lightsize that is 512x512 pixels in size. The minimum lightsize is 8x8. There is no maximum limit, but due to memory aspects, the lightsize shouldn't exceed 512x512 pixels (9). Since is nice to test this effect with mouse movements, is enabled the feature of interactive placement of the light. Usually the light is moved around the image automatically, but if you set to "YES" the "interactive" parameter, the user can move the light with the mouse when is over the applet area. The automatic movements will restart after 2 seconds of no user activity. If set to "NO" the user will never interact. --------- Optional Scrolltext parameters: You can optionally activate a scrolltext that will scroll over the applet. If you don't need the scrolltext, deactivate it placing "NO" at the "textscroll" parameter. Otherwise you must supply the name of an ASCII text file, where you must write the text that you want to be scrolled. Is supported one only line of text, that can be long as you want. Remember to upload the text file too, if you activate the scrolltext! If activated, here are the parameters: With "textoffset" you choose the Y offset from the top: placing it to 0 the scroll will be placed on the top, for example, and placing a value near the height of the applet it will scroll at the bottom. With "textspeed" parameter you decide the scrolling speed. With "textfont" you choose the font of text. Don't choose a strange or not standard font, not present in all systems. The most common fonts are "Arial", "TimesRoman" and "Courier". If the required font is not present, the most "near" will be used. Setting "textbold" to "YES" you will enlarge a bit the font, otherwise set it to "NO" for normal contours. With "textsize" you can change the size of text font. The most common sizes are: 8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72. Intermediate values will be scaled to nearest available size. Setting "textshadow" to "YES", a shadow will be added to textscroll. Otherwise, setting it to "NO", any shadow will be "projected". You can choose the color of text with: TextColR = Red component of color (0-255) TextColG = Green component of color (0-255) TextColB = Blue component of color (0-255) For example, 0,0,0 is black, 255,255,255 is white, 255,0,0 is red, 255,255,0 is yellow, 128,128,128 is grey. You can compose any color you want, do it trying manually or use any paint program's color selector to find Red Green Blue components of your desired colors. With TextSColR,TextSColG,TextSColB you can select the color for text shadow. If you like, you can activate the text jumping function. If "TextJumpAmp" is set to "0", no jumping will be shown. But increasing the value will result in text jumping: more aplitute, more high jumps. With "TextJumpSpd" parameter you can select the jumping speed. If you like, you can also activate the sine scroll function. If "TextSineAmp" is set to 0, no sine distortion will be generated. But increasing the value will result in the that the text is waving. The higher amplitude, the more waving. With the "TextSineSpd" parameter you can select the speed of the wave. With the "TextSineAngle" parameter you control how many degrees in a sinewave shape the text will be deformed for each pixel. A higher value gives more distortion. --------- Compatibility parameters: The "memdelay" parameter is useful only to run the applets without problems on some bugged versions of Netscape 3, that don't deallocate correctly the memory allocated, resulting in filling all the memory after a minute the applet is running. This can cause also a system crash in some cases. Last versions of browsers have fixed this problem, but if you want to run the applets on old bugged browsers too, set "memdelay" to low values, like "10" or "16", for example. But this will slow down a lot the applet speed, so you have to choose between speed (memdelay set to 1000 or higher) or slow compatibility with old browsers (memdelay set to 20 or lower). The "priority" parameter is useful mainly when you are running more than one applet in same page, and one slows down or hangs. If this applet run too slow or hangs because other one steal all the CPU power, try increasing the priority. Otherwise, if this applet runs well and others slows down, decrease the priority. Consider the min priority is 1, normal priority is 5, and the max priority is 10. Usually a priority of 3 is ok for single applets. The "MinSYNC" parameter must be set to a value between 8 and 16 to slow down animation in the case it runs too faster on faster computers or because the applet size is very small. The optimal value seems to be 10, but you can disable this feature placing a value of 0 if you see flickerings or excessive slow down. --------- Copyright and distribution notices Martin Zettergren is the author and owner of this applet. Fabio Ciucci has made the picture included in this distribution. You can use freely this applet to enhance your web pages. But since I am the author of the applet, I placed a secret linkware window that will appear if the applet is clicked with mouse, only when the applet is online on a site: it is external to the web browser, so it will not hit the design of your beautyful html page. This small window will simply show my name and ask for a link to my java applets page.. the user can connect to it or cancel, or hide the window and connect after visiting all your pages. I hope this credit part is not a problem for you... In any case, if link is accepted a new browser window will appear and your page will remain on the original window, so you will not lost the visitor. Consider you will use an effect programmed by me, without pay, for FREE! NOTE: You can include the applets archive on CD-ROMS or shareware collections and shareware sites without ask me, but only if you leave the archive(s) unchanged. --------- Martin Zettergren (Klorathy/Ram Jam) klorathy@geocities.com http://www.anfiteatro.it/java.html